1. GOF 디자인 패턴이란 ?
- Gang of Four(GOF) 디자인 패턴은 소프트웨어 디자인에서 자주 발생하는 문제들을 해결하기 위해 고안된 일련의 패턴들을 의미합니다.
- 총 23가지의 디자인 패턴이 소개

1. 생성 패턴(Creational Patterns):
- 싱글톤(Singleton): 어떤 클래스가 오직 하나의 인스턴스만을 갖도록 보장, 전역적인 접근 제공
- 팩토리 메서드(Factory Method): 객체 생성을 서브클래스에서 처리하도록 하는 패턴
- 추상 팩토리(Abstract Factory): 관련성 있는 여러 객체의 생성을 책임지는 인터페이스를 제공
- 빌더(Builder): 복잡한 객체를 생성하는 과정과 표현을 분리, 동일한 생성 과정에서 서로 다른 표현 결과를 만듬
- 프로토타입(Prototype): 기존 객체를 복제하여 새로운 객체를 생성하는 방식
2. 구조 패턴(Structural Patterns):
- 어댑터(Adapter): 호환되지 않는 인터페이스를 사용하는 클래스를 함께 동작할 수 있도록 변환
- 브리지(Bridge): 추상화와 구현을 분리하여 두 가지의 변경이 독립적으로 이루어질 수 있도록 합
- 컴포지트(Composite): 객체를 트리 구조로 구성하여 개별 객체와 복합 객체를 동일하게 다룰 수 있도록 함
- 데코레이터(Decorator): 객체에 동적으로 새로운 책임을 추가하는 방식, 기존 객체의 수정 없이 기능 확장
- 퍼사드(Facade): 복잡한 서브시스템을 간단한 인터페이스로 대체하여 사용성을 향상
- 플라이웨이트(Flyweight): 객체를 공유하여 메모리 사용량을 줄이고 성능을 향상
- 프록시(Proxy): 다른 객체에 대한 접근을 제어하기 위한 대리자 역할을 수행
3. 행위 패턴(Behavioral Patterns):
- 책임 연쇄(Chain of Responsibility): 요청을 보내는 객체와 그 요청을 처리하는 객체 사이에 느슨한 연결을 만듬
- 명령(Command): 사용자가 보낸 요청을 나중에 이용할 수 있도록 메서드 호출, 매개변수 등의 요청을 객체로 캡슐화
- 방문자(Visitor): 객체의 구조와 행동을 분리하여, 새로운 행동(메서드)을 추가할 수 있도록 함
- 상태(State): 객체의 상태에 따라 행동을 변경할 수 있도록 함
- 전략(Strategy): 알고리즘군을 정의하고 각각을 캡슐화하여 교환할 수 있도록 만듬
- 템플릿 메서드(Template Method): 알고리즘의 구조를 변경하지 않고 특정 단계에서 알고리즘을 재정의할 수 있도록 함
- 중재자(Mediator): 객체 간의 상호작용을 캡슐화하여 복잡성을 줄이고 결합도를 감소
- 관찰자(Observer): 객체 사이의 일대다 의존 관계를 정의하여 한 객체의 상태가 변경될 때 의존 객체들이 자동으로 알림을 받도록 함
* 코드의 재사용성, 확장성, 유지보수성을 향상시키는데 도움을 줌
'디자인패턴' 카테고리의 다른 글
[디자인패턴] 객체지향 프로그래밍(OOP) (1) | 2024.02.28 |
---|---|
[디자인패턴] 정책 패턴 (Strategy) (0) | 2024.01.29 |
[디자인패턴] 파사드 패턴 (Facade) (0) | 2024.01.29 |
[디자인패턴] 옵저버 패턴(Observer) (0) | 2024.01.29 |
[디자인패턴] 데코레이터 패턴 (Decorator) (0) | 2024.01.28 |