Notice
Recent Posts
Recent Comments
Link
- 책_곽용재님 홈페이지
- 책_노란북 - 책 가격비교
- 책_김재우-SICP번역
- 플밍_쏘쓰포지
- 플밍_CodingHorror ?
- 플밍_상킴
- 플밍_김민장님
- GPGStudy
- 플밍_미친감자님
- 플밍_jz
- 플밍_샤방샤방님
- 플밍_글쓰는프로그래머2
- 플밍_키보드후킹
- 사람_재혁
- 사람_kernel0
- 사람_박PD
- 사람_경석형
- 사람_nemo
- 사람_kikiwaka
- 사람_Junios
- 사람_harry
- 사람_어떤 개발자의 금서목록..
- 사람_모기소리
- 사람_낙타한마리
- 사람_redkuma
- 사람_영원의끝
- 사람_민식형
- 도스박스 다음카페
- 플레이웨어즈 - 게임하드웨어벤치마크
- http://puwazaza.com/
- David harvey의 Reading Marx's c…
- 씨네21
- 한겨레_임경선의 이기적인 상담실
- 본격2차대전만화 - 굽시니스트
- 영화_정성일 글모음 페이지
- 영화_영화속이데올로기파악하기
- 음식_생선회
- 죽력고
- 사람_한밀
- 플밍_수까락
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- programming challenges
- modernc++
- 게임
- 프로그래밍
- 유머
- 유시민
- 삼국지6
- 태그가 아깝다
- BSP
- 고전강의
- 정신분석
- 건강
- 노무현
- 정성일
- Programming
- template
- 강유원
- 단상
- stl
- 인문학
- 소비자고발
- 김두식
- 진중권
- 고등학교 사회공부
- 영화
- c++
- 진삼국무쌍5
- 일리아스
- 책
- 삼국지
Archives
- Today
- Total
01-07 02:28
lancelot.com
Head First Desing Pattern - 1장 Strategy Pattern 본문
1. 디자인원칙
바뀌는 부분은 캡슐화한다.
상속보다는 구성을 활용한다.
구현이 아닌 인터페이스에 맞춰서 프로그래밍한다.
strategy pattern 을 설명하면서 Duck class를 예로 들었네요.
Duck 클래스에 fly(), quack() 등의 함수들이 있고, 이걸 상속받아서 RedheadDuck, RubberDuck 등을 만들었는데요.
그렇게하면, 자식 class에서 fly(), quack()등이 바뀌거나 재정의 될때 비효율적이됩니다.
그래서, fly(), quack() 등의 행동을 나타내는 함수를 behavior class로 빼낸 후 그것을 superclass인 Duck class가 가지고 있는 방식이 훨씬 나은 방식이라는 설명입니다.
이해가 잘 되도록 적절한 예시네요.
2. Strategy pattern
알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다.
바뀌는 부분은 캡슐화한다.
상속보다는 구성을 활용한다.
구현이 아닌 인터페이스에 맞춰서 프로그래밍한다.
strategy pattern 을 설명하면서 Duck class를 예로 들었네요.
Duck 클래스에 fly(), quack() 등의 함수들이 있고, 이걸 상속받아서 RedheadDuck, RubberDuck 등을 만들었는데요.
그렇게하면, 자식 class에서 fly(), quack()등이 바뀌거나 재정의 될때 비효율적이됩니다.
그래서, fly(), quack() 등의 행동을 나타내는 함수를 behavior class로 빼낸 후 그것을 superclass인 Duck class가 가지고 있는 방식이 훨씬 나은 방식이라는 설명입니다.
이해가 잘 되도록 적절한 예시네요.
2. Strategy pattern
알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다.