Gang of Four

GoF ( Gang of Four )는 디자인 패턴 책을 집필한 4명의 저자를 가리키는 말이다.
1994 년에 출판한【 Design Patterns : Elements of Reusable Object - Oriented Software 】책은 소프트웨어 설계에 있어 공통된 문제들에 대한 표준적인 해법과 작명법을 제안한 책이다. 이 분야의 사인방 ( Gof )이라 불리는 에리히 감마 ( Erich Gamma ) , 리처드 헬름 ( Richard Helm ) , 랄프 존슨 ( Ralph Johnson ) , 존 블리시데스 ( John Vlissides ) 는 이 책에 23가지 대표적인 디자인 패턴을 정리했다.
이 책이 디자인 패턴의 시작점인자 표준으로 자리 잡았다.
우리가 말하는 생성 ( Creational ) , 구조 ( Structural ) , 행위 ( Behavioral ) 패턴 구분도 여기서 비롯되었다.
전 세계 개발자들이 "싱글톤 , 옵저버 , 전략 패턴" 같은 말을 했을 때 같은 개념을 떠올릴 수 있는 공통 언어가 되었다.
GoF 디자인 패턴 23가지 정리
▼ 생성 ( Creational ) 패턴 - 객체 생성 방법 최적화
- 1. Singleton - 인스턴스를 하나만 보장하고 전역 접근 제공
- 2. Factory Method - 객체 생성을 서브클래스에 위임
- 3. Abstract Factory - 관련 객체 집합을 생성하는 인터페이스 제공
- 4. Builder - 복잡한 객체 생성을 단계별로 캡슐화
- 5. Prototype - 기존 객체를 복제하여 새 객체 생성
▼ 구조 ( Structural ) 패턴 - 클래스 / 객체를 조합하는 방법
- 6. Adapter - 호환되지 않는 인터페이스를 변환하여 연결
- 7. Bridge - 추상과 구현을 분리하여 독립적으로 확장
- 8. Composite - 트리 구조로 전체-부분 관계 표현
- 9. Decorator - 객체에 동적으로 기능을 추가
- 10. Facade - 복잡한 서브시스템을 단순한 인터페이스로 제공
- 11. Flyweight - 공유 가능한 객체를 캐싱하여 메모리 절약
- 12. Proxy - 대리 객체를 두어 접근 제어 또는 성능 개선
▼ 행위 ( Behavioral ) 패턴 - 객체 간의 상호작용 / 책임 분배
- 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 - 새로운 연산을 기존 객체 구조에 추가
정리
GoF 는 디자인 패턴을 체계적으로 정리해낸 네 명의 저자와 그들의 대표 저서를 의미한다.
- 생성 패턴 : 객체를 어떻게 만들지
- 구조 패턴 : 객체 / 클래스를 어떻게 조립할지
- 행위 패턴 : 객체들이 어떻게 협력할지
'⭐C Sharp > 13. 디자인 패턴' 카테고리의 다른 글
| Factory Method (0) | 2025.09.30 |
|---|---|
| 의존성 주입 ( Dependency Injection ) (0) | 2025.09.29 |
| 게임에 자주 쓰이는 패턴 (0) | 2025.09.29 |
| 디자인 패턴 ( Design Pattern ) (0) | 2025.09.29 |
| SOLID 원칙 (0) | 2025.09.29 |