The Facade is a pattern exposing several Components through a single Interface. It is a simplified API provided over a set of Classes or Sub Systems. It is a way of balancing complexity and presentation/usability as-well as a way to provide a simple and easy to understand User Interface over a large and sophisticated body of code. You may wish to ( optionally ) expose internals through the Facade for Power Users and/or to allow users to 'escalate' to use more complex APIs if they need to.