Wednesday, December 27, 2006

 

디자인 패턴 - Design Patterns

Creational Patterns

1. Abstract Factory : 오브젝트 생성을 위한 인터페이스를 정의하여, 오브젝트 생성 방법과 실제 생성되는 오브젝트를 분리시킨다.

2. Factory Method : 오브젝트 생성을 SubClass에 위임한다.

3. Builder : 복잡한 데이터 구조를 생성하는 부분을 오브젝트로 정의하여, 생성 방법을 동적으로 변환할 수 있도록 한다.

4. Prototype : 미리 생성되어 등록된 오브젝트들을 복사하여 새로운 오브젝트들을 생성한다. Graphical Editor에서 새로운 Graphic 오브젝트를 생성하는데 주로 사용한다.

5. Singleton : 특정 클래스의 오브젝트가 하나만 생성되도록 한다.

Structural Patterns.

1. Adaptor : 서로 다른 인터페이스를 가진 클래스/오브젝트들의 인터페이스를 서로 호환가능하도록 만들기 위해 사용한다.

2. Facade : 복잡한 SubSystem을 대표하는 오브젝트 인터페이스를 정의하여, SubSystem을 대표하도록 한다.

3. Composite : Primitive 오브젝트들을 조합하여 복잡한 오브젝트를 생성하는 방법을 제공한다. 복잡한 오브젝트나 Primitive는 같은 인터페이스를 제공한다.

4. Bridge : Interface와 Implmenetation을 분리한다. 따라서 인터페이스는 그대로 유지하면서 실제 구현은 다르게 바꿀 수 있는 방법을 제공한다.

5. Flyweight : Object들을 공유함으로써 시스템의 메모리 자원을 절약할 수 있는 방법을 제공한다. 이 기법은 정해진 종류의 오브젝트들이 문맥에 상관없이 여러 곳에서 사용되는 경우에 유용하다.

6. Decorator : 주로 Composite Pattern과 같이 사용된다. 오브젝트의 인터페이스를 유지하면서 추가로 기능을 제공하고 싶을 때 사용한다.

7. Proxy : 말 그래로 "대리인" 역할을 수행하는 오브젝트를 두어서 실제 일을 처리하는 오브젝트로의 접근을 통제하는 방법이다.

Behavioural Patterns

1. Chain of Responsibility.

2. Iterator.

3. Visitor.

4. Command.

5. Observer.

6. State.

7. Strategy.

8. Interpreter.

9. Mediator.

10. Template Method


Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?