Facade


Usage
  • A single class that represents an entire subsystem
  • Provide a unified interface to a set of interfaces in a subsystem
  • Define a higher-level interface that makes the subsystem easier to use
Diagram
Facade
Participants
Facade
  • Knows which subsystem classes are responsible for a request.
  • Delegates client requests to appropriate subsystem objects.
Subsystem classes
  • Implement subsystem functionality.
  • Handle work assigned by the Facade object.
  • Have no knowledge of the facade and keep no reference to it.