Façade

Intent

Provide a unified interface to a set of interfaces in a subsystem.  Façade defines a higher-level interface that makes the subsystem easier to use.

      -Design Patterns, GoF

 

 

Structure

From dofactory.com:

 

Questions

1. How complex must a subsystem be to justify a Façade?  In other words, how do you decide when to use a Façade?

2. How can a Façade speed build time for a given subsystem?

3. In a distributed environment, what benefits does a (Session) Façade offer beyond shielding complexity or decoupling subsystems?

4. What are the costs of using a Façade?  Do Facades ever make things more complex?

 

Examples – Which are Facades?

1. Java Swing Font and Graphics classes

2. J2EE Session Façade

 

 

References

·         Façade Pattern (Data & Object Factory)

·         Façade Pattern (Wikipedia)