Object-oriented design patterns
In this section, we'll go over some of the GoF design patterns, check whether they are pertinent to FP, and study how to implement them. Of course, there are some design patterns that don't get an FP solution. For example, there's no equivalent for a Singleton, which implies the foreign concept of a globally accessed object. Also, while it's true that you may no longer need OOP-specific patterns, developers will still think in terms of those. Also, finally, since we're not going fully functional if an OOP pattern fits, why not use it?
Façade and Adapter
Out of these two patterns, let's start with the Façade. This is meant tosolve the problem of providing a different interface to the methods of a class or to a library. The idea is to provide a new interface to a system that makes it easier to use. You might say that aFaçade provides a better control panelto access certain functionalities, removing difficulties for the user.
Note
Façade or facade? The original word...