Comparing the Façade and Proxy patterns
Both the façade and proxy patterns are structural design patterns. They are similar in the sense that they both have a proxy/façade object in front of the real objects. Differences are really in the intent or purpose of the patterns, as shown in the following table:
Proxy pattern |
Façade pattern |
---|---|
It provides you with a surrogate or placeholder for another object to control access to it |
It provides you with an interface to large subsystems of classes |
A Proxy object has the same interface as that of the target object and holds references to target objects |
It minimizes the communication and dependencies between subsystems |
It acts as an intermediary between the client and object that is wrapped |
A Façade object provides a single, simplified interface |