Structural design patterns help simplify relationships among entities.
|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.|