The facade pattern
By the time an application is being built, the chances are high that the existing classes become more complex and require complex client code for interaction. Often, this complex code for interaction is duplicated wherever a relationship is to be established. Also, a developer needs to be aware of all the aspects of this complex interaction code, such as a sequence in which it should be executed. The façade pattern helps us hide such complex interaction code and makes it reusable.
Note
The intention of the façade design pattern is to convert complex Apex classes into simplified classes or interfaces where groups of classes are either wrapped into one class or only one class is used to delegate responsibilities to the other classes.
Most prominent use cases of the façade design pattern include scenarios where a client needs to have multiple interactions to achieve a unit of work or the interaction code is duplicated at multiple locations...