1월, 2011의 게시물 표시

How cohuman works

이미지

디자인패턴

이미지
디자인 패턴 정리 패턴 이란 특정 컨텍스트(패턴이 적용되는 상황. 반복적으로 일어날 수 있는 상황) 내에서 주어진 문제(해당 컨텍스트 내에서 이루고자 하는 목적 또는 제약조건)에 대한 해결책(일련의 제약조건 내에서 목적을 달성할 수 있는 일반적인 디자인)이다. "어떤 컨텍스트 내에서 일련의 제약조건에 의해 영향을 받을 수 있는 문제에 봉착했다면, 그 제약조건 내에서 목적을 달성하기 위한 해결책을 찾아낼 수 있는 디자인을 적용한다." 1. 범주별 분류 ■  생성 관련 패턴 (싱글턴, 추상 팩토리, 팩토리 메소드, 빌더, 프로토타입) 객체 인스턴스 생성을 위한 패턴으로, 클라이언트와 그 클라이언트에서 생성해야 할 객체 인스턴스 사이의 연결을 끊어주는 패턴. ■  행동 관련 패턴 (템플릿 메소드, 커맨드, 어터레이터, 옵저버, 스테이트, 스트래티지) 클래스와 객체들의 상호작용 하는 방법 및 역할을 분담하는 방법관 관련된 패턴. ■  구조 관련 패턴 (데코레이터, 컴포지트, 프록시, 퍼사드, 어댑터) 클래스 및 객체들을 구성을 통새허 더 큰 구조로 만들수 있게 해주는 것과 관련된 패턴. 2. 클래스, 객체 분류 ■   클래스 패턴 (템플릿 메소드, 팩토리 메소드, 어댑터) 클래스 사이의 관계가 상속을 통해서 어떤 식으로 정의되는지를 다룬다. 클래스 패턴에서는 컴파일시에 관계가 결정. ■   객체 패턴 (컴포지트, 데코레이터, 프록시, 스트래티지, 브리지, 퍼사드, 커맨드, 이터레이터, 옵저버, 프로토타입, 스테이트, 추상 팩토리, 싱글턴) 객체 사이의 관계를 다루며, 객체 사이의 관계는 보통 구성을 통새허 정의. 객체 패턴에서는 일반적으로 실행중에 관계가 생성되기 때문에 더 동적이고 유연함. 3. 패턴으로 생각하기 ■   최대한 단순하게 "이 문제에 어떤 패턴을 적용할까?"가 아닌 "어떻게 하면 단순하게 해결할 수 있을까?"에 초점. 가장 단순하고 유연