1. 디자인 패턴이 생겨난 과정
- 특정 기능들을 상속받는 클래스에 영향을 끼치는 것을 방지하기 위해 생겨남
- 인터페이스에 대한 고민 : 인터페이스의 경우 스펙이 일부가 변경되면 전체적으로 변경해야되는 사태가 발생
2. 문제 파악
- 바뀌는 부분은 미리 뽑아서 캡슐화
- 행동과 관련된 인터페이스는 행동과 관련된 것들만 모아서 따로 구현
3. 디자인의 원칙
- 구현이 아닌 인터페이스에 맞추어서 프로그래밍을 한다
- 상속보다는 구성을 활용한다.
4. 통합
- 상위 클래스에 구현되어 있는 함수들은 서브 클래스에서 제거
스트레티지 패턴(strategy Pattern): 알고리즘군을 정의하고 각각을 캡슐화해서 교환 사용이 가능하도록 만든다. 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘 변경이 가능하다.
'More Programmings > Design Pattern' 카테고리의 다른 글
Head First Design Pattern(3. 데코레이터 패턴) (0) | 2016.12.27 |
---|---|
Head First Design Pattern(2. 옵져버 패턴) (0) | 2016.11.07 |
MVC Design Pattern (0) | 2016.01.29 |