As we create bigger and bigger projects, our code will slowly accumulate and if we don’t design it correctly, it ends up to be spaghetti code and after some time, we won’t even be able to read it ourselves. To fix this, we have what’s called Design Patterns. Today we will see how to use the facade design pattern to improve your code as you move forward with your CS journey.
First, we will learn where we can use this Design Pattern. The facade pattern is typically used when:
- a simple interface is required to access a complex system,
- a system is very complex or difficult to understand,
- an entry point is needed to each level of layered software, or
- the abstractions and implementations of a subsystem are tightly coupled.
Here’s an example, React is a very popular front end framework that uses a lot of the facade pattern. When we create a new component in react, we would import a library and declare a component class. A component class has established functionalities and methods that the user can declare which would otherwise be extremely difficult to implement by ourselves. Functionalities such as state management and auto selective re-rendering are really easy to use because of the facade pattern.