공통성과 가변성의 분리의 원칙을 사용하는 GoF의 디자인 패턴 5가지
1) 변하는 것을 메소드로 분리
- Template Method : 알고리즘의 변경
- Factory Method : 객체 생성
2) 변하는 것을 클래스로 분리(교체 가능해야 하므로 인터페이스 기반)
- Strategy : 정책
- State : 상태에 따른 동작
- Builder : 공정에 따른 표현
책 : 알기 쉬운 디자인 패턴(틀린 내용도 많지만 내용자체의 구현체를 생성 구조의 원리가 아닌 설계를 다룬 내용임, C++기준으로 되어 있음) - 사서 볼만큼 좋은 책은 아니다.
커맨드 패턴 - 단순히 Undo와 Redo 뿐만 아니라 매크로 커맨드도 어렵지 않게 만들 수 있다.
매크로 커맨드도 만들어 보자.
리팩토링 책 추천
- Java 언어로 배우는 리팩토링(한빛미디어, 유키 히로시) 빨리 배우고 치우는게 낫다. 절판임. 중고로 은근히 구할 수 있다.
- 패턴을 활용한 리팩토링(인사이트, 조슈아 케리에브스키) 많이 알려진 책이다.
- 마틴파울러의 리팩토링(가장 나중에 볼 것, 양장 아닌 걸로)
'Software Design Pattern' 카테고리의 다른 글
반복자(Iterator) 패턴 (0) | 2017.12.01 |
---|---|
Collection 을 설계하는 방법 (0) | 2017.11.30 |
재귀적 합성을 사용한 설계 방법 (0) | 2017.11.28 |
메뉴, Composite 패턴 핵심 2가지 (0) | 2017.11.28 |
객체의 상태가 많을 때 초기화 방법 (0) | 2017.11.27 |