1. Iterator – 하나씩 열거하면서 처리한다.
2. Adapter – 필요한 형태로 수정해서 재활용한다.
3. Template Method – 구체적인 처리를 하위 클래스에게 위임
4. Factory Method – 인스턴스 작성을 하위 클래스에게 위임
5. Singleton – 단 하나의 인스턴스
6. Prototype – 복사해서 인스턴스를 만든다.
7. Builder – 복잡한 인스턴스를 조립한다.
8. Abstract Factory – 관련된 부품을 조립해서 제품을 만든다.
9. Bridgh – 기능의 계층과 구현의 계층을 분리한다.
10. Strategy – 알고리즘을 모두 교체하다.
11. Composite – 그릇과 내용물을 동일시
12. Decorator – 장식과 내용물의 동일시
13. Visitor – 구조 안을 돌아다니면서 일을 한다.
14. Chain of Responsibility – 책임 떠넘기기
15. Facade – 간단한 창구
16. Mediator – 상대는 하나뿐
17. Observer – 상태의 변화를 통지한다.
18. Memento – 상태를 보존한다.
19. State – 상태를 클래스로 표현한다.
20. Flyweight – 동일한 것을 공유해서 낭비를 없앤다.
21. Proxy – 필요해지면 만든다.
22. Command – 명령을 클래스로 만든다.
23. Interpreter – 문법 규칙을 클래스로 표현한다.
Java 언어로 배우는 디자인 패턴 입문.
제대로 익히자.