패턴을 분류하는 기준
1. 목적 : 패턴이 무엇을 하는지 정의
- 생성 : 객체의 생성 과정에 관여
- 구조 : 클래스나 객체의 합성에 관한 패턴
- 행동 : 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법 정의
2. 범위 : 클래스에 적용하는지 객체에 적용하는지 구분
- 클래스 패턴 : 클래스와 서브클래스 간의 관련성(주로 상속)을 다루는 패턴
컴파일 타임에 정적으로 결정
- 객체 패턴 : 객체 관련성을 다루는 패턴
런타임에 변경할 수 있으며 클래스 패턴보다 더 동적
생성-클래스 패턴 : 객체를 생성하는 책임의 일부를 서브클래스가 담당하도록 위임
생성-객체 패턴 : 객체를 생성하는 책임의 일부를 다른 객체에 전달
구조-클래스 패턴 : 상속을 이용해서 클래스를 복합
구조-객체 패턴 : 객체를 합성하는 방법을 정의
행동-클래스 패턴 : 상속을 이용해서 알고리즘과 제어 흐름을 기술
행동-객체 패턴 : 하나의 작업을 수행하기 위해 객체 집합이 어떻게 협력하는지 기술
목적 |
||||
생성 |
구조 |
행동 |
||
범위 |
클래스 |
Factory Method |
Adapter (class) |
Interpreter Template Method |
객체 |
Abstract Factory Builder Prototype Singleton |
Adapter (object) Bridge Composite Decorator Facade Flyweight Proxy |
Chain of Responsibility Command Interpreter Mediator Memento Observer State Strategy Visitor |
패턴을 조직하는 또 다른 방법
- 패턴간의 참조 관계에 따라 관리
- 패턴간의 참조 관계에 따라 관리
'Study > Software Engineering' 카테고리의 다른 글
WSDL (Web Service Description Language) (0) | 2010.01.24 |
---|---|
Web 2.0 에 대한 개요 (0) | 2010.01.19 |
UML 2.0 (0) | 2009.09.02 |
Design principle 을 지키는 Refactoring 방법 (0) | 2009.08.31 |
Enterprise Application Integration (EAI) 상황에서의 디자인 원칙 (0) | 2009.08.31 |