C ++ 디자인 패턴
소프트웨어 설계 패턴은 객체 지향 설계 환경에서 반복해서 발생하는 문제에 대한 일반적인 재사용 가능한 솔루션입니다. 소스 코드로 직접 변환 할 수있는 완성 된 디자인은 아니지만 문제를 해결하는 방법 템플릿입니다. 우리는 의도적으로 창조적 (인스턴스화 프로세스의 추상), 구조 (클래스와 객체가 더 큰 구조를 형성하도록 구성되는 방법) 및 행동 패턴 (물체 간의 책임 할당)으로 분류 할 수 있습니다.
창조적 패턴
- 추상 공장, 제품 대상 제품군
- 빌더, 복합 객체가 생성되는 방법
- 공장 방법, 인스턴스화 된 물체의 서브 클래스
- 프로토 타입, 인스턴스화 된 객체의 클래스
- 싱글 톤, 수업의 유일한 인스턴스
구조적 패턴
- 어댑터, 객체에 대한 인터페이스
- 다리, 객체 구현
- 물체의 복합, 구조 및 구성
- 데코레이터, 서브 클래스가없는 물체의 책임
- 파사드, 서브 시스템 인터페이스
- 플라이급, 객체의 저장 비용
- 프록시, 객체 액세스 방법 (위치)
행동 패턴
- 책임의 체인, 요청을 이행 할 수있는 대상
- 명령, 요청이 언제 및 어떻게 이행되는지
- 언어의 통역사, 문법 및 해석
- 반복자, 집계 요소에 액세스하는 방법
- 중재자, 어떻게 그리고 어떤 객체가 서로 상호 작용하는지
- Memento, 어떤 개인 정보가 객체 외부에 저장되고 언제
- 관찰자, 종속 객체가 최신 상태로 유지되는 방법
- 상태, 대상 상태
- 전략, 알고리즘
- 템플릿 메소드, 알고리즘 단계
- 방문자, 수업을 변경하지 않고 객체에 적용 할 수있는 작업
다른 언어
내 저장소에서 당신은 언어로서 Desgin 패턴의 구현을 찾을 수 있습니다.
- C ++의 디자인 패턴
- 자바의 디자인 패턴
- 파이썬의 디자인 패턴
참조
이 저장소의 설계 패턴은 기반입니다
- "4 갱"에 의한 디자인 패턴
- 먼저 머리 : 디자인 패턴
- 위키 백과