Difference between the Facade, Proxy, Adapter and Decorator design patterns?

Viewed 75824

What is the difference between the Facade, Proxy, Adapter, and Decorator design patterns?

From a generic point of view, such patterns seem to do the same thing, that is: wrap an API and provide access to it.

How to distinguish these patterns?
How to discern when one pattern suits more than the others?

2 Answers
Related