디자인 패턴의 개념
※Design Pattern의 분류와 종류
기본 패턴(Fundamental Design Patterns)
|
생성 패턴(Creational Patterns) ① 시스템에서 사용하는 클래스 정보를 캡슐화 ② 클래스에 의해 객체가 생성되는 방식 |
분류 패턴(Partitioning Patterns) |
구조화 패턴(Structural Patterns) |
행위 패턴(Behavioral Patterns) |
분류 | ||||||
생성 패턴(Creational Patterns) | 구조화 패턴(Structural Patterns) | 행위 패턴(Behavioral Patterns) | 분류 패턴 (Partitioning Patterns) | 기본 패턴(Fundamental Design Patterns) | ||
범위 | 클래스 | Factory Method | Adapter | Interpreter Template Method | Layered Initialization Filter Composite | Delegation Proxy |
객체 | Abstract Factory Builder Prototype Singleton | Adapter Bridge Composite Decorator Façade Proxy | Chain of Responsibility Command Iterator Mediator Memento Flyweight Observer State Strategy Visitor |
Design Pattern 관계도
※Design Pattern 이 다양화 할 수 있는 설계 측면
목적 | 디자인 패턴 | 다양화할 수 있는 부분 |
생성 | Abstract Factory | 제품 객체군 |
Builder | 복합 객체 생성 방법 | |
Factory Method | 인스턴스화될 객체의 서브클래스 | |
Prototype | 인스턴스화될 객체 클래스 | |
Singleton | 클래스의 인스턴스가 하나인 경우 | |
구조 | Adapter | 객체에 대한 인터페이스 |
Bridge | 객체 구현 | |
Composite | 객체의 합성과 구조 | |
Decorator | 서브 크랠싱 없이 객체의 책임성 | |
Façade | 서브시스템에 대한 인터페이스 | |
Flyweight | 객체의 저장 비용 | |
Proxy | 객체 접근 방법 | |
행위 | Chain of Responsibility | 요청을 처리하는 객체 |
Command | 요청의 처리 시점과 처리 방법 | |
Interpreter | 언어의 문법과 해석 방법 | |
Iterator | 집합 객체의 요소들의 접근 방법 및 순회 방법 | |
Mediator | 어떤 객체들이 어떻게 상호작용하는지 | |
Memento | 언제 어떤 정보를 개체의 외부에 저장하는지 | |
Observer | 다른 객체에 종속적인 객체의수 종속적인 객체들의 상태 변경 방법 | |
State | 객체의 상태 | |
Stratety | 알고리즘 | |
Template Method | 알고리즘의 단계 | |
Visitor | 클래스의 변경 없이 객체에 적용할 수 있는 오퍼레이션 |
디자인 패턴과 친해지기 |
하위 클래스에게 위임하기 |
인스턴스만들기 |
분리해서 생각하기 |
동일시하기 |
구조를 돌아다니기 |
- 순서대로 지정해서 처리. |
3. Template Method - 하위 클래스에서 구체적으로 처리. |
5. Singleton - 인스턴스를 한 개만 만들기 |
9. Bridge - 기능 계층과 구현 계층 분리하기 |
11. Composite - 그릇과 내용물을 동일시하기. |
13. Visitor - 데이터 구조를 돌아다니면서 처리하기. |
단순화하기 |
상태를 관리하기 |
낭비 없애기 |
클래스로 표현하기 |
|
|
15. Facade - 단순한 창구 |
17. Observer - 상태의 변화를 알려주기 |
20 .Flyweight |
22. Command - 명령을 클래스로하기 |
|
|
출처 :
http://warmz.tistory.com/763
http://www.yunsobi.com/blog/141
http://devx.tistory.com/entry/
http://hyeonstorage.tistory.com/99
http://tadis.tistory.com/
http://crproj.tistory.com/75 - 구조및 개념 GOF
'프로그래밍 > 디자인패턴' 카테고리의 다른 글
Factory Method (0) | 2014.03.31 |
---|---|
추상 팩토리 (Abstract Factory) 패턴 (0) | 2014.03.31 |
Builder Pattern (0) | 2014.03.31 |
GoF 의 디자인 패턴 (0) | 2013.04.08 |
디자인 패턴 간략 설명 (0) | 2012.12.10 |