Facade

1. Usage

When sub-system very complex and has many subsystems it make sense to unify access to it by providing single interface called facade.
Facade isolate subsystems from direct calls and such way reducing dependency between modules and improve re-usability .

2. UML class diagram

facade uml diagram

3. Pros

It helps to use subsystem as only single system call used to interact with many subsystems. Which in turn improve recompilation in case subsystem was modified.

Complex system become layered – which improve usage and maintenance. Dependency between libraries reduced.