반응형

디자인 패턴 종류

GoF(Gang of Four) 디자인 패턴 구분

 

생성(Creational) 패턴

 - 객체 생성 혹은 조합에 관한 패턴

  • 추상 팩토리(Abstract Factory)
  • 빌더(Builder)
  • 팩토리 메서드(Factory Method)
  • 프로토타입(Prototype)
  • 싱글톤(Singleton)

 

구조(Structural) 패턴

 - 객체를 조합해 더 큰 구조를 만드는 패턴

  • 어댑터(Adapter)
  • 브릿지(Bridge)
  • 컴포지트(Composite)
  • 데코레이터(Decorator)
  • 퍼사드(Facade)
  • 플라이웨이트(Flyweight)
  • 프록시(Proxy)

 

행동(Behavioral) 패턴

 - 객체 사이의 책임분배나 커뮤니케이션에 관한 패턴

  • 책임 연쇄(Chain of Responsibility)
  • 커맨트(Command)
  • 인터프리터(Interpreter)
  • 이터레이터(Iterator)
  • 미디테이터(Mediator)
  • 메멘토(Memento)
  • 옵저버(Observer)
  • 스테이트(State)
  • 전략(Strategy)
  • 템플릿 메서드(Template Method)
  • 비지터(Visitor)

 

 


디자인 패턴 정리

 

  • 싱글톤(Singleton) - 인스턴스가 한개임은 어플리케이션에서 보장해야하며, 이것에 대한 접근 제어를 할 수 있어야함
  • 빌더(Builder) - 복잡한 객체의 생성과 표현 방법을 분리
  • 팩토리 메서드(Factory Method) - 객체의 생성 자체를 캡슐화
  • 어댑터(Adaptor) - 서로 다른 인터페이스를 같이 사용하는 방법
  • 퍼사드(Facade) - 복잡한 인터페이스를 서브-클래스로 숨기고, 단순한 인터페이스로 보여줌
  • 데코레이터(Decorator) - 어떤 객체의 수정없이 책임을 추가할 때 사용
  • 프록시(Proxy) - 객체에 대한 접근 제어를 수행
  • 전략(Strategy) - 클라이언트의 변경없이 독립적으로 전략을 변경하는 패턴
  • 템플릿 메서드(Template Method) - 문제 해결의 큰 흐름을 유지하고 단계별 처리는 하위 클래스로 넘기거나 훅(hook)을 제공
  • 책임 연쇄(Chain of Responsibility) - 보내는 메시지는 하나지만, 각 체인에 걸쳐서 메시지가 체인에 할당되어진 클래스들에 전파되어서 여러가지 메시지가 한번에 전달되도록하는 기능 제공

 

 


반응형

+ Recent posts