스터디 8주차 - 디자인 패턴 Strategy Pattern by 청새치

음.... 넵. 오랜만이네요.
개강하고 나서 이리저리 치이다보니 할 일도, 하고 싶은 일도 좀처럼 하기 어렵네요.

그래서 오늘은 이번에 동아리에서 했던 디자인패턴 스터디 과제를 들고나왔습니다(..)
뭔가 개별 스터디를 하고 싶은 마음은 있는데 시간이 없는건 아니고,
시간이 나면 대체로 놀게 되는군요.

일단은 파일부터.



HeadFirst 디자인패턴을 참고하여 짠 C++ 코드입니다.

과제 목표는 다음과 같았습니다.
(동아리 선배가 내 준 것..)

1. 책에 나오는 오리 시뮬레이터를 상속으로 구현해보자
-> 소스코드의 Duck Simulator 1.0

2. 책에 나오는 오리 시뮬레이터를 Strategy 패턴으로 구현해보자
-> 소스코드의 Duck Simulator 2.0

3. 기능을 추가하자 (상속을 이용한 구현과, Strategy Pattern을 이용해 구현한 프로그램 모두)
* 행동 추가
- 물 수 있도록 기능 추가
- 청둥오리, Redhead오리는 물 수 있다.
- 고무오리는 물지 못한다.
- Super오리가 물면 많이 아픔.
* 오리 추가
- Stupid 오리 추가
- 이 오리는 ‘멍’하고 울고, 날지 못하고, 물지 못한다.
- Lazy 오리 추가
- 이 오리는 울지 못하고, 로켓 추진력으로 날고, 물지 못한다.
* 기능 수정
- 울지 못하는 오리들을 모두 Splash라고 울게 수정하자.
- 날지 못하는 오리들을 모두 초속 8mile로 날 수 있도록 수정하자.
-> 상속을 이용한 구현은 Duck Simulator 1.5
-> 패턴을 이용한 구현은 Duck Simulator 2.5


직접 해보니 역시 코드는 해봐야 느는 것 같네요.
예전에 혼자 훑어볼때는 그냥 이론만 봤는데, 직접 구현해보니 좀 더 와닿는 것 같습니다.

소스코드 자체는 단순하기 때문에 설명은 생략하겠습니다.
(이라고 쓰면서 날로 먹습니다.)
그럼 이만.

1 2 3 4 5 6 7 8 9 10 다음


물고기