Breaking down the Façade pattern
As part of the Structural family of design patterns, the Façade pattern is all about simplifying communication between a client and the sometimes hectic and complex web of interconnected systems our programs use to do work. We run into façades all over the place, and we’ve even found them in other design patterns in this book (because anywhere there was a factory in our code, there was a façade standing guard). But even though any intervening layer between a client and a subsystem is a kind of façade, the Façade pattern itself is a much more targeted solution to accessing your complex subsystems.
The Façade pattern is useful when:
- You need a simplified interface when accessing a much more complex subsystem or set of interrelated subsystems. Even when subsystems grow and change, the façade provides the same default set of operations so your client code remains unbroken.
- You want to...