Classicifications of design patterns
디자인 패턴의 분류.
에릭 감마를 비롯한 4인방(GoF, Gang of Four)은 디자인 패턴 책을 펴내면서 23가지의 패턴을 다음과 같이 3가지 종류로 묶었다.
생성 패턴(Creational pattern)
구조 패턴(Structural pattern)
행동 패턴(Behavioral pattern)
각 패턴들은 그들이 풀고자 하는 문제의 종류에 따라 3가지로 나뉘게 되었다.
생성 패턴은 보다 정제되고 기준이 명확하게 객체(Object)를 생성하는 데에 사용된다. 구조 패턴은 새로운 기능을 제공하거나 큰 구조들을 형성하기 위해 서로 다른 클래스(Class)들과 객체를 조직화하는 데에 사용된다. 마지막으로 행동 패턴은 객체 간의 공통의 통신 패턴을 정의하거나 구현할 때에 사용된다.
디자인 패턴들.
이제 패턴을 나열해볼 텐데, 패턴을 이해하거나 암기할 필요 없다. 한글 이름보단 영문 이름이 보다 더 쉽게 와 닿을 수 있다.
생성 패턴(Creational pattern)
1. 추상 팩토리(Abstract factory)
2. 빌더(Builder)
3. 팩토리, 팩토리 메서드(Factory Method)
4. 프로토타입(Prototype)
5. 싱글톤(Singleton)
구조 패턴(Structural pattern)
6. 어댑터(Adapter)
7. 브리지(Bridge)
8. 복합체, 컴포지트(Composite)
9. 데코레이터(Decorator)
10. 퍼사드(Facade)
11. 플라이 웨이트(Flyweight)
12. 프락시(Proxy)
행동 패턴(Behavioral pattern)
13. 책임 체인(Chain of responsibility)
14. 커맨드(Command)
15. 인터프리터(Interpreter)
16. 반복자, 이터레이터(Iterator)
17. 중재자(Mediator)
18. 메멘토(Memento)
19. 감시자, 옵서버(Observer)
20. 상태(State)
21. 전략(Strategy)
22. 템플릿 메서드(Template method)
23. 방문자(Visitor)
이 글에서는 에릭 4인방의 23가지 디자인 패턴을 소개하지만, 94년 이 책이 출간되고 나서 현재까지 수만 가지의 패턴이 소개되고 사용되고 있다. 모든 23가지 패턴이 현재까지 유용하게 사용되는 것도 아니다. 하지만, 에릭 4인방이 간추린 23가지 디자인 패턴 속에 숨어져 있는 의도와 동기를 생각하다 보면, 추후에 다른 수만 가지 패턴을 접근할 때에 이해가 훨씬 쉬워질 것이다. "왜 이런 문제엔, 이런 패턴을 권장하였을 까"를 함께 고민해보자.
산드로 보티첼리의 비너스의 탄생
비너스의 탄생은 15세기 르네상스 시대 화가인 산드로 보티첼리의 대표적인 그림 가운데 하나로 이탈리아 피렌체의 우치피 미술관에 전시되어 있다.
1쇄. 2020.11.30.