Façade Pattern
Context
- A subsystem consists of multiple classes, making it complicated
for clients to use
- Implementor may want to change subsystem classes
- Want to give a coherent entry point
Solution
- Define a facade class that exposes all capabilities of the
subsystem as methods
- The facade methods delegate requests to the subsystem classes
- The subsystem classes do not know about the facade class