본문 바로가기

개발/개발공부 일지

GoF의 23가지 디자인 패턴 정리

✅ GoF의 23가지 디자인 패턴 목록

1. 🏗 생성 패턴 (Creational Patterns) — 객체 생성 방식에 관한 패턴

패턴명설명
1. Singleton 하나의 인스턴스만 존재하도록 제한
2. Factory Method 객체 생성의 책임을 서브클래스에게 위임
3. Abstract Factory 관련 객체를 생성하기 위한 팩토리들의 집합
4. Builder 복합 객체의 생성 과정을 단계별로 나누어 처리
5. Prototype 기존 객체를 복사(clone)하여 새로운 객체 생성

 

 

2. 🧱 구조 패턴 (Structural Patterns) — 클래스나 객체를 조합하여 더 큰 구조를 만드는 패턴

패턴명설명
6. Adapter 서로 다른 인터페이스를 맞춰주는 중간자 역할
7. Bridge 구현과 추상화를 분리하여 독립적으로 확장 가능
8. Composite 트리 구조로 객체를 구성, 전체-부분 관계 표현
9. Decorator 객체에 기능을 동적으로 추가
10. Facade 복잡한 서브시스템을 단순화하는 인터페이스 제공
11. Flyweight 많은 수의 유사 객체를 공유하여 메모리 절약
12. Proxy 실제 객체 대신 접근을 제어하는 객체 사용
 

3. 🔁 행동 패턴 (Behavioral Patterns) — 객체 간의 책임 분산 및 상호작용 패턴

패턴명설명
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 객체 구조를 변경하지 않고 새로운 연산 수행