Link Search Menu Expand Document

{| class=”wikitable” ! colspan=”2” | 구분 ! 생성 !! 구조 !! 행위 |- | colspan=”2” | 의미 | 객체의 생성 방식을 결정하는 패턴 | 객체를 구조와 합성에 관한 패턴 | 객체의 상호작용하는 방법과
책임을 분산하는 방법에 대한 패턴 |- | rowspan=”2” | 범위 | 클래스 || 팩토리 메서드 || 어뎁터(클래스버전) || 인터프리터
템플릿 메서드 |- | 객체 | 추상 팩토리
빌더
프로토타입
싱글턴 | 어뎁터(객체버전)
브릿지
컴포지트
데코레이터
퍼사드
플라이웨이트
프록시 | 체인 오브 리스판시블
커멘드
인터프리터
메디에이터
메멘토
옵저버
스테이트
스트레티지
비지터 |- |}

{class=”wikitable”  
! colspan=”3”생성 패턴  
 Singleton 하나의 인스턴스만 존재 하는 것
 Abstract Factory 객체들의 집합을 생성할 수 있는 인터페이스를 제공
 Factory Method 객체를 생성하는 인터페이스는 미리 정의 인스턴스 만드는 시점은 서브클래스로 미룸
 Builder 복합 객체의 생성과정과 표한 방법을 분리 하여 동일한 생성 절차에 다른 표현 결과
 prototype 런타임에서 원형을 복사하여 또 다른 객체 생성
 }  
{class=”wikitable”  
! colspan=”3”구조 패턴  
 어뎁터 다른 인터페이스로 변환, 호환성 클래스
 브릿지 책임 분리 new CircleShp(1, 2, new DrawingAPI1())
 컴포지트 단일 객체, 복합객체 동일하게 관리 dict와 file을 둘다 가짐
 디코레이터 super를 통해 동적으로 첨가 return 4500+super.cost();
 퍼사드 내부일 간략화, 외관패턴
 플라이웨이트 데이터 공유 외부에 자료
 프록시 본인과 대리인, 둘다 있어서 기능 제공
 }  
{class=”wikitable”  
! colspan=”3”행위 패턴  
 코멘드 명령, 수신, 발동 요청을 나중에 실행
 인터프리터 문법 해석, 정의
 이터레이터 반복하여 순차적으로 내부 노출없이 요소들을 접근
 메디에이터 N:M을 N:1로 중재
 템플렛 제네랄
 비지터 방문자, 기능만 추가, 비지터 기능을 엘리먼트가 씀
 스테이트 행동을 스테이트에게 전달 상태변경
 스트레트지 알고리즘 캡슐화, 인터페이스구현
 옵저버 observers에게 notify
 체인 오브 리스판시블 요청을 받을 수 있는 객체를 연쇄적으로 묶고, 실제 요청을 처리할 객체를 만날 때까지 요청을 전달
 메멘토 전체 속성 저장
 }  

=== 참고 링크 ===

  • [http://i-bada.blogspot.com/2012/05/design-pattern.html 디자인 패턴(Design Pattern)]