약 2분

협업을 위한 GoF 디자인 패턴 정리

Gang.. of Four?
협업을 위한 GoF 디자인 패턴 정리
Photo by Jenna T / Unsplash
WIP

생성 패턴

: 객체의 생성과 관련된 패턴. 특정 개체가 생성되거나 변경되어도 프로그램 구조에 최소한의 영향을 줄 수 있도록 함 -> 구조적인 유연성을 제공

  • Abstract Factory, 추상 팩토리
    : 구체적인 클래스를 지정하지 않고, 인터페이스를 통해 연관되는 객체들을 묶음
  • Builder, 빌더
    : 객체의 생성과 표현을 분리
  • Factory Method, 팩토리 메서드
    : 객체의 생성을 서브클래스로 분리하여 위임 및 캡슐화
  • Prototype, 프로토타입
    : 프로토타입 인스턴스를 만들어두고, 이를 복사해서 사용 (객체 생성이 무거울 경우)
  • Singleton, 싱글톤
    : 클래스마다 인스턴스(실제 객체)를 하나만 생성해두고, 이걸 참조해서 사용

구조 패턴

: 프로그램 내 자료구조나 인터페이스 구조 등을 설계하는데 사용되는 패턴. 클래스나 객체를 조합해 더 큰 구조를 만들 수 있게 해 줌

  • Adapter, 어댑터
    : 클래스의 인터페이스를 어떤 클래스에서도 이용할 수 있도록 변환
  • Bridge, 브릿지
    : 구현부에서 추상층을 분리하여 각자 독립적으로 변형하고 확장할 수 있도록 함
  • Composite, 컴포지트
    : 객체들의 관계를 트리 구조로 구성하여 표현함. 단일 객체와 복합 객체 구분 X
  • Decorator, 데코레이터
    : 주어진 상황에 따라 객체에 다른 객체를 덧붙여 사용
  • Facade, 파사드
    : 서브시스템의 인터페이스 집합에 대해 통합된 인터페이스를 제공
  • Flyweight, 플라이웨이트
    : 캐싱을 활용해서,
  • Proxy, 프록시
    :

행동 패턴

  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor