[7월 15일 3교시] 기타 패턴 Adapter Pattern 인터페이스 A를 인터페이스 B로 변경 기능은 변하지 않는다. Decorator Pattern A에 새로운 기능을 추가한다. Facade Pattern 복잡한 인터페이스들(subsystem)을 하나의 단순화된 인터페이스로 정리 객체들이 여러 개가 있다. Mediator Pattern 복잡한 연결구조를 하나로 집중화 상태가 변하면 Mediator 객체에.. 컴퓨터 공부/디자인 패턴 2009.07.15
[7월 15일 2교시] Visitor Pattern Iterator Pattern = Traversal 돌아다니면서 나열함. Visitor Pattern 구조 안을 돌아다니며 일을 함. Intent 데이터 구조내의 각각 객체에 새로운 기능을 추가해야 하는데 캡슐화가 중요하지 않는 경우 사용. ※ struct POSITION {}; // 속이 비어 있음. 주소만 리턴. Iterator는 서로 다른 종류의 요소를 갖는 구조체는 탐색하.. 컴퓨터 공부/디자인 패턴 2009.07.15
[7월 15일 1교시] Strategy Pattern Strategy Pattern 알고리즘을 모두 교체함. Intent 알고리즘 각각에 대해 클래스로 캡슐화하여 알고리즘을 교환해서 사용한다. 클라이언트와는 독립적으로 알고리즘을 변경 Policy라고도 불림. Motivation 예) Text Stream을 시스템마다 라인단위로 구분할 수 있는 프로그램 알고리즘(처리)과 사용자를 분리 구조적.. 컴퓨터 공부/디자인 패턴 2009.07.15
[7월 14일 3교시] Interpreter Pattern 2 Parse Interpret 구동시켜주는 역할, Visitor 패턴과 비슷함. ※ 비교구문 속도를 증가하기 위해 심볼에 대해 해시 테이블을 사용하는 것이 좋다. 컴퓨터 공부/디자인 패턴 2009.07.14
[7월 14일 2교시] Interpreter Pattern 심볼테이블은 해시 테이블을 만든다. (여러 자료 구조를 사용) Interpreter Pattern 문법 규칙을 클래스로 표현한다. (구현의 목적) 해당 문제를 간단한 문장으로 표현 문제를 인터프리터로 해석. ※ 특정한 패턴인식은 클래스가 된다. Motivation 간단한 언어의 문법을 정의 정의된 언어로 문장을 구성 문장을 .. 컴퓨터 공부/디자인 패턴 2009.07.14
[7월 14일 1교시] Bridge Pattern TV용 리모콘을 생성한다. 리모콘(추상) - XCanvas 컨트롤러, PAVV 컨트롤러 (TV만 바뀌어도) 컨트롤러 종류가 너무 다양해서 항상 새로 만들어야 하는 문제가 생긴다. 리모콘(추상화 개념)과 TV(실제 구동)를 분리하자. 브리지 : 예를 들어 리모콘은 TV와 aggregation 되었다. 서로 cowork를 할 때 좋은 방법이다. [리.. 컴퓨터 공부/디자인 패턴 2009.07.14
[7월 13일 2,3교시] Builder 패턴 2 + Abstract Factory 패턴 Builder vs Abstract Factory Pattern Abstract Factory Pattern : 한번 호출할 때마다 제품(Product)을 생산하는데 필요한 관련된 모든 부품(Parts)을 반환한다. 즉, 페라리를 만들기 위해 페라리에 관련된 모든 부품을 반환하지만 제품을 반환하지 않는다. Builder Pattern : 객체의 내부 상태에 따라 단계별로 부품을 생성하여 .. 컴퓨터 공부/디자인 패턴 2009.07.13
[7월 13일 1교시] Builder 패턴 1 추천도서 : Head-First 디자인 패턴 ※ 적어도 2~3개 같은 디자인 패턴을 함께 적용해야 한다. ※ 디자인 패턴의 목적 : 클래스 간의 dependency를 줄여준다. tightly couple -> loosely couple이 목적 hook function은 body가 비어있는 함수 -> 필요시 재정의 해 준다. virtual function은 무조건 재정의 해주어야 한다. ※ 버거.. 컴퓨터 공부/디자인 패턴 2009.07.13
[7월 7일 3교시] Singleton, prototype 패턴 Singleton 패턴클래스의 인스턴스는 오직 하나임을 보장하며 이 인스턴스에 접근할 수 있는 방법을 제공.Intent클래스에서 만들 수 있는 인스턴스가 오직 하나(혹은 원하는 만큼만)일 경우 이에 대한 접근을 어디에서든지 하나로만 통일하여 제공한다.Motivation예시) DBConnectionPool전역변수보다는 static을 사용.. 컴퓨터 공부/디자인 패턴 2009.07.07
[7월 7일 2교시] Templete Method 패턴 부모 클래스는 HookOperation을 만든다. (구현 부분은 비어있다.) Factory Method 패턴은 Template Method 패턴이다. Factory Method 패턴 인스턴스 작성을 하위 클래스에게 위임. Template method 패턴을 인스턴스 생성에 응용. Intent : 어떤 클래스의 인스턴스를 생성할지 결정을 서브 클래스에서 결정. Virtual Constructor로 알려.. 컴퓨터 공부/디자인 패턴 2009.07.07