디자인패턴 15

디자인 패턴 - Decorator (Structural Pattern)

Structural Pattern인 Decorator Pattern에 대해 정리합니다. 이 패턴은 기존의 Object를 동적으로 Responsibility를 추가하거나 수정하여 무한히 장식할 수 있는 패턴입니다. :) Definition Object에 '장식'을 해 나가는 패턴 - alt. Object에 동적으로 responsibility를 추가하기 위해 inheritance 대신 사용할 수 있는 패턴 목적 - 현재 Object의 responsibility 또는 behavior를 수정하기 위해 동적으로 responsibility를 추가하기 위함. 사용 시점 - Object의 responsibility 및 behavior가 동적으로 수정되어야 할 때 - Object를 생성할 때 responsibility와..

디자인 패턴 - Composite (Structural Pattern)

Structural Pattern인 Composite Pattern에 대해 정리합니다. Definition '그릇'과 '내용물'을 동일시해서 '그릇'이 '내용물' 또는 '그릇'을 포함할 수 있는 재귀적인 구조를 만들기 위한 패턴 Composite Pattern은 Structural Pattern에 해당합니다. Class Diagram Leaf는 '내용물'의 역할을 합니다. Composite는 '그릇' 및 '내용물'의 역할을 합니다. Leaf와 Composite는 Component를 상속받아, Composite class가 Composite 및 Leaf class를 재귀적으로 담을 수 있습니다. Sample Case 다음은 Composite 패턴을 적용한 시나리오입니다. 최대한 필요한 내용만 class와 ..

디자인 패턴 - Bridge (Structural Pattern)

Structural Pattern인 Bridge Pattern에 대해 정리합니다. Definition '기능'과 '구현'의 클래스 계층을 분리하고, 다리를 놓는 패턴 Bridge Pattern은 Structural Pattern에 해당합니다. Class Diagram 기능 계층의 class는 'Abstraction' class(추상:abstraction class가 아닌 이름이 'Abstraction')입니다. 'Abstraction Class'에 기능을 추가한 것이 'RefinedAbstraction'입니다. 구현 계층의 class는 Implementor class와, 이를 상속하여 구현한 ConcreteImiplementor입니다. Abstraction calss에서 구현 계층의 calss의 inst..

디자인 패턴 - Adapter (Structural Pattern)

Structural Pattern인 Adapter Pattern에 대해 정리합니다. Definition '이미 제공되어 있는 것'과 '필요한 것'사이의 '차이'를 없애주는 패턴 Adapter라는 naming과 같이 실생활에서의 예를 들자면 기존 사용하던 220V 플러그를 110V 콘센트에 꽂아서 사용하려면, 110V Adapter가 있어야 합니다. 이 때 110V Adapter의 역할을 만들어서 사용할 수 있도록 하는 Pattern을 Adapter Pattern이라 합니다. Adapter Pattern은 Structural Pattern 에 해당합니다. Scope 분류로 보면, Class 에 해당하는 Adapter 패턴은 상속을 이용, Object에 해당하는 Adapter 패턴은 위임을 이용합니다. Cl..

디자인패턴 어렵지 않아요

디자인 패턴이란? Design Pattern 이란 Object Oriented Design Programming을 위한 재사용 가능한 클래스 및 객체 설계 패턴입니다. 논문 Using Pattern Languages for Object-Oriented Programs을 통해 1987년에 최초 제안되었고, GOF(Gang of Four)라는 에리히 감마(Erich Gamma), 리처드 헬름(Richard Helm), 랄프 존슨(Ralph Johnson), 존 블리시데스(John Vlissides)에 의해 1995년에 제안된 23개 패턴이 가장 일반적이며, 근간이 되는 대중적인 패턴이며, 보통 OOP 기반의 SW개발에서 디자인 패턴이라고 하면 GOF의 디자인 패턴을 말합니다. GOF 패턴 이외에도 더 많은 ..

반응형