Pattern Name | Usage |
---|---|
Adapter | Converts the interface of a class into another interface the client expects, enabling classes to work together that couldn’t otherwise because of incompatible interfaces. |
Bridge | Decouples an abstraction from its implementation so that the two can vary independently. |
Composite | Composes objects into tree structures to represent part-whole hierarchies, allowing clients to treat individual objects and compositions of objects uniformly. |
Decorator | Adds additional responsibilities to an object dynamically. |
Facade | Provides a simplified interface to a complex subsystem. |
Flyweight | Reduces the cost of creating and manipulating a large number of similar objects by sharing objects. |
Proxy | Provides a surrogate or placeholder for another object to control access to it. |