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.
Resources URL: 
notes/design_patterns/resources
Sources URL: 
notes/design_patterns/sources

See Also