✅ 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 | 객체 구조를 변경하지 않고 새로운 연산 수행 |
'개발 > 개발공부 일지' 카테고리의 다른 글
전략패턴(디자인패턴)을 공부해 보자 (0) | 2025.05.01 |
---|---|
[22.01.17 ~ 22.01.23] FCM 작업, 첫 유닛테스트 코드 작성, mongod.lock is not empty 에러 (0) | 2022.01.23 |
[21.12.27 ~ 22.01.09] 회사일, Eloquent Javasciprt, Axios 라이브러리 분석 (0) | 2022.01.09 |
[12월 4주차] 도커 컨테이너 간 통신문제 해결, 배송물량 증가로 인한 프로그램 성능이슈, 앞으로의 공부 계획 (0) | 2021.12.26 |
[21.12.17~21.12.18] 서버 장애 회고, socket.io 를 통한 실시간 통신 (0) | 2021.12.19 |