|
Wrapper Patterns
|
|---|
|
Proxy Pattern
|
- intent - to provide a surrogate/placeholder for another object to control access, defer creation, or add extra behavior
|
|
Adapter Pattern
|
- intent - convert one interface into another that the client expects
|
|
Decorator (Wrapper - Smart Proxy) Pattern
|
- intent - add behavior to an object dynamically without modifying its class
|
|
Facade Pattern
|
- intent - provide a simple interface to a complex subsystem
|
|
Bridge Pattern
|
- intent - to decouple an abstraction/interface from its implementation so that the two can vary independently (uses dependency injection)
|
|
|
|
Dependency Injection (DI)
|
- intent - to decouple objects from their dependencies by providing those dependencies from the outside rather than having the objects construct them themselves
|
|
Composite Pattern - Object Tree Pattern
|
- intent - to create uniform treatment of single objects and groups
|