잔글편집 요약 없음 |
잔글 (오류 수정 (빈칸)) |
||
(사용자 3명의 중간 판 9개는 보이지 않습니다) | |||
2번째 줄: | 2번째 줄: | ||
== 종류 == | == 종류 == | ||
패턴의 분류와 명칭은 <GOF 디자인 패턴>을 따른다. | 패턴의 분류와 명칭은 <GOF 디자인 패턴>을 따른다. 또한, 패턴은 보통 [[UML]]으로 표현하기 때문에 UML을 알고 있다는 전제하에 설명한다. | ||
=== 생성 패턴 === | === 생성 패턴 === | ||
* Abstract Factory | * Abstract Factory | ||
[[파일:Design Pattern Factory.png]] | |||
: 이 패턴과 Factory Method 패턴의 기본이 되는 Factory 패턴은 객체를 생성하는 과정을 숨기고 인스턴스만 반환한다. | |||
[[파일:Design Pattern Abstract Factory.png]] | |||
: Abstract Factory는 Factory를 추상화하여 객체의 생성과정을 클라이언트가 선택할 수 있게 한 것으로, Factory 패턴이 후술할 Strategy 패턴과 결합한 것이라고 볼 수 있다. | |||
* Builder | * Builder | ||
* Factory Method | * Factory Method | ||
[[파일:Design Pattern Factory Method.png]] | |||
: 객체의 생성을 하나의 메소드에 전가하는 패턴으로, 생성과 사용을 분리한다. 팩토리 클래스를 상속한 클래스로 생성작업을 구현한다. | |||
* Prototype | * Prototype | ||
* Singleton | * Singleton | ||
: 가장 간단한 패턴이다. 프로그램 사이클동안 하나의 인스턴트 생성민 허락할 때 사용한다. | [[파일:Design Pattern Singleton.png]] | ||
: 가장 간단한 패턴이다. 프로그램 사이클동안 하나의 인스턴트 생성민 허락할 때 사용한다. 보통 정적 Singleton, 게으른 인스턴스화가 적용된 Singleton, 동기화가 적용된 Singleton 정도를 구현하게 되지만, C++의 경우 객체의 소멸 부분의 문제 때문에 위의 것과 더불어 죽었다 살아나는<del>[[주작]]</del> 피닉스 Singleton 등 다양한 구현이 존재한다. | |||
== 구조패턴 == | === 구조패턴 === | ||
* Adapter | * Adapter | ||
* Bridge | * Bridge | ||
22번째 줄: | 35번째 줄: | ||
* Proxy | * Proxy | ||
== 행위패턴 == | === 행위패턴 === | ||
* Chain of Responsibility | * Chain of Responsibility | ||
* Command | * Command | ||
34번째 줄: | 47번째 줄: | ||
* Template Method | * Template Method | ||
* Visitor | * Visitor | ||
{{주석}} | {{주석}} | ||
[[분류: | [[분류:디자인 패턴]] |
2021년 6월 20일 (일) 01:17 기준 최신판
클래스 디자인 패턴은 프로그램 안의 클래스들의 구조를 패턴화하여 나타낸 것이다. 패턴의 구현은 프로그래밍 언어의 특성에 따라 달라질 수 있다.
종류[편집 | 원본 편집]
패턴의 분류와 명칭은 <GOF 디자인 패턴>을 따른다. 또한, 패턴은 보통 UML으로 표현하기 때문에 UML을 알고 있다는 전제하에 설명한다.
생성 패턴[편집 | 원본 편집]
- Abstract Factory
- 이 패턴과 Factory Method 패턴의 기본이 되는 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