Chapter 4 ¶
Structural Patterns ¶
Adapter(105) Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces
Bridge(121) Decouple an abstraction from its implementation so that the two can vary independently
Composite(137) Compose objects into tree structrures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly.
Decorator(161) Attach Additional responsibilities and behavior to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality.
Facade(179) Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use.
Flyweight(189) Use sharing to support large numbers of fine-grained objects efficiently.
Proxy(213) Provide a surrogate or placeholder for another object to control access to it.
Adapter(105) 는 다른 인터페이스의 Clients들이 예상할수 있는 형태오 클래스의 인터페이스를 변형시킨다. 즉, Adapter는 양립할수 없는 다른 상황의 두가지의 일을 수행하는 클래스를 상호간연결시키는 역할을 한다.
Bridge(121)은 적용(implementation)의 추상화를 통한 분리를 통하여 둘에게 독립성을 부여한다.
Composite(137)은 전체-부분의 계층 나타내기위한 tree구조로 각 object를 구성시킨다. Composite는 client 들이 개별의 object와 object들의 조합을 일정한 규칙으로 다룰수 있게 한다.
Decorator(161)은 object에게 동적으로 임무와 할일을 부여한다. Decorator는 기능의 확장을 위한 함수에 대하여 유연한 선택을 제공한다.
Facade(179)는 확장된 시스템에서(하위, 상속받은) interface들의 조합에 대한 일관적인 접근(interface)을 제공한다. Facade는 확장 시스템(하위, 상속받은)을 좀더 사용하게 쉽도록 높은 단계의 interface를 정의한다.
Flyweight(189)는 많은 수의 잘 만들어진 object들의 효과적인 공유를 가능케 한다.
Proxy(213)은 다른 object의 조정,관리(control)을 위한 대행자, placeholer를 제공한다.