See also the UML class and sequence diagram below.Ī Facade is used when an easier or simpler interface to an underlying object is desired. This enables to work through a Facade object to minimize the dependencies on a subsystem.
That describe how to solve recurring design problems to design flexible and reusable object-oriented software, that is, objects that are easier to implement, change, test, and reuse. These members access the system on behalf of the facade client and hide the implementation details.ĭesign pattern is one of the twenty-three well-known It typically involves a single wrapper class that contains a set of members required by the client. This pattern hides the complexities of the larger system and provides a simpler interface to the client. serve as a launching point for a broader refactor of monolithic or tightly-coupled systems in favor of more loosely-coupled codeĭevelopers often use the facade design pattern when a system is very complex or difficult to understand because the system has many interdependent classes or because its source code is unavailable.provide a context-specific interface to more generic functionality (complete with context-specific input validation).
improve the readability and usability of a software library by masking interaction with more complex components behind a single (and often simplified) API.Analogous to a facade in architecture, a facade is an object that serves as a front-facing interface masking more complex underlying or structural code. The facade pattern (also spelled façade) is a software-design pattern commonly used in object-oriented programming.