2025-03-27 Design Pattern 요약

성현규·2025년 3월 27일
post-thumbnail

디자인 패턴 정리 (종류별 분류)


1. 생성(Creational) 패턴

객체를 어떻게 생성할지를 유연하게 설계하는 패턴들

패턴 이름설명
Singleton단 하나의 인스턴스만 생성하여 전역에서 공유함
Factory Method객체 생성 로직을 서브클래스로 위임함
Abstract Factory관련된 객체들을 통일된 방식으로 생성할 수 있도록 함
Builder복잡한 객체를 단계별로 생성하며 가독성을 높임
Prototype기존 객체를 복제하여 새로운 객체를 생성함 (얕은/깊은 복사 등)

2. 구조(Structural) 패턴

객체들을 어떤 식으로 연결해서 사용할지를 설계하는 패턴들

패턴 이름설명
Adapter서로 다른 인터페이스를 가진 클래스를 연결함
Decorator기존 객체에 기능을 동적으로 추가함
Facade복잡한 서브시스템을 단순한 인터페이스로 감싸 제공함
Composite트리 구조처럼 계층적으로 구성된 객체를 통일된 방식으로 처리
Bridge구현과 추상을 분리하여 독립적으로 확장 가능하게 설계함
Proxy접근 제어나 성능 향상을 위해 객체의 대리인을 사용함
Flyweight동일한 객체를 공유하여 메모리 사용을 줄임 (경량 객체)

3. 행위(Behavioral) 패턴

객체들 사이의 책임, 소통, 동작 흐름을 효과적으로 관리하는 패턴들

패턴 이름설명
Strategy알고리즘을 객체로 캡슐화해 유연하게 교체 가능하게 함
Observer특정 객체의 상태 변화에 따라 연결된 객체에 자동 알림 전달
State객체의 상태에 따라 다른 행동을 수행하도록 설계함
Template Method알고리즘의 뼈대를 정의하고, 세부 단계는 서브클래스가 구현함
Command요청(명령)을 객체로 캡슐화하고 실행/취소 등을 분리함
Mediator객체 간 복잡한 연결을 하나의 중재자로 정리함
Iterator컬렉션 내부 구조를 노출하지 않고 순회할 수 있도록 함
Chain of Responsibility요청을 여러 객체에게 순차적으로 전달하여 처리 가능성 탐색
Visitor객체 구조 변경 없이 새로운 연산을 추가할 수 있음
Memento객체의 상태를 저장하고 복원하는 기능을 제공함
Interpreter문법 규칙을 클래스로 표현해 언어 해석 기능 구현
profile
학생

0개의 댓글