1995년 GoF(Gang of Four)라고 불리는 Erich Gamma, Richard Helm, Ralph Johnson, John Vissides 가 처음으로 디자인 패턴을 구체화하였다.
GoF의 디자인 패턴은 소프트웨어 공학에서 가장 많이 사용되는 디자인 패턴으로, 목적에 따라 생성(Creational) 패턴
5개, 구조(Structural) 패턴
7개, 행위(Behavioral) 패턴
11개, 총 23개의 패턴으로 구성된다.
type | Creational | Structural | Behavioral |
---|---|---|---|
Patterns | - Singleton (싱글톤) - Factory method (팩토리 메소드) - Abstract factory (추상 팩토리) - Builder (빌더) - Prototype (프로토 타입) |
- Adapter (어뎁터) - Bridge (브릿지) - Composite (컴포짓) - Decorator (데코레이터) - Facade (퍼사드) - Flyweight (플라이웨이트) - Proxy (프록시) |
- Chain of responsibility (책임 연쇄) - Command (커맨드) - Interpreter (인터프리터) - Iterator (이터레이터) - Mediator (중재자) - Memento (메멘토) - Observer (옵저버) - State (상태) - Strategy (전략) - Template method (템플릿 메소드) - Visitor (비지터) |