클래스 디자인 패턴

Ruin (토론 | 기여)님의 2015년 4월 27일 (월) 12:36 판 (→‎생성 패턴: Abstract Factory)

클래스 디자인 패턴은 프로그램 안의 클래스들의 구조를 패턴화하여 나타낸 것이다. 패턴의 구현은 프로그래밍 언어의 특성에 따라 달라질 수 있다.

종류

패턴의 분류와 명칭은 <GOF 디자인 패턴>을 따른다.

생성 패턴

  • Abstract Factory
이 패턴의 기본이 되는 Factory 패턴은 객체를 생성하는 과정을 숨기고 인스턴스만 반환한다. Abstract Factory는 Factory를 추상화하여 객체의 생성과정을 클라이언트가 선택할 수 있게 한 것으로, Factory 패턴이 밑에서 설명할 Strategy 패턴과 결합한 것이라고 볼 수 있다.
  • Builder
  • Factory Method
  • Prototype
  • Singleton
가장 간단한 패턴이다. 프로그램 사이클동안 하나의 인스턴트 생성민 허락할 때 사용한다. 보통 정적 Singleton, 게으른 인스턴스화가 적용된 Singleton, 동기화가 적용된 Singleton 정도를 구현하게 되지만, C++의 경우 객체의 소멸 부분의 문제 때문에 위의 것과 더불어 죽었다 살아나는 피닉스 Singleton 등 다양한 구현이 존재한다.

구조패턴

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy

행위패턴

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

작성중

각주