Structural patterns

Structural design patterns help simplify relationships among entities.

pattern description
Adapter Adapting one interface into another according to client expectation.
Bridge Decouple an abstraction from its implementation so that the two can vary independently.
Composite Composes objects in a tree structure and allows you to work with one object or groups of objects through a single interface.
Decorator Adds new functionality to an existing object without altering its structure.
Facade Provides a simpler interface for any complex code such as a library and framework.
Flyweight Attempts to reuse an existing object, rather than create a new, similar object.
Proxy Represents functionality of another class.