Design Patterns as interfaces
So many of the GoF patterns are similar. It can sometimes be challenging to differentiate them. It helps me to understand patterns by how they compare in contrast. So I put together this summary of how the different GoF structural pattern interfaces relate.
Proxy – Proxy provides the same interface to pretend to be an object.
Adapter - provides different interface to pretend to be to be a different object.
Bridge – splits an interface between its abstraction and its implementation
Flyweight – splits an interface between shared data and object data.
Composite – unifies and interface between nodes and leaves
Façade – simplifies an interface to reduce the options.
Decorator – expands an interface to give it more options