Introducing the Facade Pattern
The Facade is a structural software design pattern that deals with how abstractions of the various parts of an implementation should be created. The key concept of the Facade Pattern is to abstract an existing implementation and provide a simplified API that better matches the use cases of the developed application. According to most Computer Science bibliographies describing this pattern, a Facade is most commonly implemented as a specialized class that is used to segment the implementation of an application into smaller pieces of code, while providing an interface that completely hides the encapsulated complexity. In the web development world, it is also common to use plain objects or functions for the implementation of a Facade, taking advantage of the way in which JavaScript treats functions as objects.
In applications that have a modular structure, like the examples of the previous chapter, it is also common to implement Facades as separate modules with...