===책===
- 저자 Gang of Four
===디자인 패턴이란===
- 때에 따라 때려 맞추는 ad hoc(특별한 목적을 위해서라는 라틴어)해결책보다 좀더 수고를 해여 유연성과 재사용성을 얻을수 있다
- 설계자들이 이미 경험한 소프트웨어 설계의 경험을 기록 해놓아 설계를 그대로 적용(재사용)할수 있다
- 특정한 전후 관계에서 일반적 설계 문제를 해결하기 위해 상호교류하는 수정 가능한 객체와 클래스들에 대한 설명입니다
- 구체적인 설계나 구현을 설명하지 않고 추상화를 갖는 패턴까지 설명합니다
====디자인 패턴 4가지 요소====
- Pattern name 패턴이름은 한두 단어로 설계 문제와 해법을 서술해야한다
- Problem 문제는 언제 패턴을 사용하는지 해결할 문제와 그 배경을 설명합니다
- Solution 해법은 설계를 구성하는 요소들과 그 요소들 간의 관계, 책임 그리고 협력 관계를 서술합니다
- Consequence 결과는 디자인 패턴을 적용해서 얻는 결과와 장단점을 서술합니다 ** 비용과 효과를 측정하여 디자인패턴을 선택하기 때문에 가장 중요한 부분입니다 ** 재사용성도 중요한 요소로 시스템의 유연성, 확장성, 이식성등에 커다란 영향을 줍니다 —-
===사례===
===Creational(생성)===
- 추상 팩토리
- 빌더
- 팩토리 메서드
- 프로토타입 ====싱글턴====
===Structural(구조)===
===Behavioral(행동)===
- 체인 오브 리스판시빌리티
- 코맨드
- 인터프리터
- 이터레이터
- 메디에이터
- 메멘토
- 옵저버
- 스테이트
====스트레티지====
- 템플릿 메서드
- 비지터
===디자인 패턴기대===
===다이어그램===