반응형

 이번 글은, GoF 디자인패턴의 종류들에 대해서 알아보겠습니다.

디자인패턴은 소프트웨어를 설계할 때, 역사적으로 발생했던 공통된 문제들에 대해서, 표준적인 해결 방법을 제안들을 모아놓은 것입니다. GoF (Gang of Four)는 이 분야의 사인방을 뜻하는 용어로, 이 디자인패턴을 쓴, 다음의 4명의 사람들을 의미합니다. 에리히 감마(Erich Gamma), 리처드 헬름(Richard Helm), 랄프 존슨(Ralph Johnson), 존 블리시데스(John Vlissides)가 썼습니다. (위키백과 참고)

 

 아래의 표를 참고해주시면 좋을 것 같습니다. (클릭하시면, 해당 디자인패턴의 상세페이지로 넘어갑니다.)

 

GoF 패턴의 종류들 (Category of GoF Patterns)

    목적 (Purpose)
   
 객체 생성을 다른 클래스, 혹은 다른 객체가 대신해줌.
(Defer Object creation to another class or object)
 객들을 조립하는 방법에 대해 설명함.
(Describe ways to assemble objects)
 객체의 책임을 분리하거나, 상호작용 방법에 대해 설명함.
(Address problems of assigning responsibilities)
    Creational (생성) Structural (구조) Behavioral (행동)
Scope Class Factory Method (팩토리 메서드) Adapter (어댑터) Interpreter (인터프리터)
Template (템플릿)
Object Abstract Factory (추상팩토리)
Builder (빌더)
Prototype (프로토타입)
Singleton (싱글톤)
Adapter (어댑터)
Bridge (브리지)
Composite (컴포지트)
Decorator (데코레이터)
Facade (퍼사이드)
Flyweight (플라이웨이트)
Proxy (프록시)
CoR (Chain of Responsibility) (역할 사슬 패턴)
Command (커맨드)
Iterator (반복자)
Mediator (중재자)
Memento (메멘토)
Observer (옵저버)
State (상태)
Strategy (전략)
Visitor (방문자)

 

* 아키텍쳐 패턴은 디자인 패턴보다 상위수준임.

* 아키텍쳐 패턴은 전체 시스템의 구조를 설계하기 위한 참조 모델이면, 디자인 패턴은 서브 시스템에 속하는 컴포넌트 끼리 관계를 설계하기 위한 참조모델이다.

 

 

참고자료

https://4z7l.github.io/2020/12/25/design_pattern_GoF.html

반응형