Facade

  1. Describe why the use of patterns (a good thing) can sometimes make the design more difficult to understand (a bad thing).  Indicate how a facade may make it easier for the client to understand how to use the subsystem.
  2. Explain how a facade decouples system components thus reducing coupling.
  3. Indicate the implications caused by bypassing a facade to directly communicate with the subsystem classes.
  4. Describe how a facade will encapsulate a subsystem.  Explain the role of public and private encapsulation of the subsystem.