G.Facade

    1. Summary

      1. One class represents entire subsystem.

      2. Provide a unified interface to a set of interfaces in a subsystem.

      3. Façade defines a higher-level interface that makes the subsystem easier to use.

      4. Wrap a complicated subsystem with a simpler interface.

  1. Overview Tutorials

    1. http://sourcemaking.com/design_patterns/facade

  2. When to Uses

      1. Top level Object Classes in any Object Model

  3. Specific Consideration

    1. Performance

        1. If all the object of facade is loaded in the very early stage then it will cause performance issue if any of the class is consuming high system resources (Such as employee list with 1 M record)

        2. The approach can be executed for improving performance is lazy init (initialization on demand) and object recycling if required.