Structural pattern
A structural pattern is a software design pattern that encapsulates relationships between entities.
01Examples
Examples include:
- Adapter pattern
- Adapts one interface for a class into one that a client expects.
- Adapter pipeline
- Use multiple adapters for debugging purposes.
- Retrofit Interface Pattern
- An adapter used as a new interface for multiple classes at the same time.
- Aggregate pattern
- A version of the Composite pattern with methods for aggregation of children.
- Bridge pattern
- decouple an abstraction from its implementation so that the two can vary independently.
- Tombstone
- An intermediate lookup object contains the real location of an object.
- Composite pattern
- A tree structure of objects where every object has the same interface.
- Decorator pattern
- Supports adding additional functionality to an object at runtime. Prevents issue where subclassing would result in an exponential rise of new classes.
- Extensibility pattern
- a.k.a. framework, Hides complex code behind a simple interface.
- Facade pattern
- Creates a simplified interface of an existing interface to ease usage for common tasks.
- Flyweight pattern
- A large quantity of objects share a common properties object to save space.
- Marker interface pattern
- An empty interface to associate metadata with a class.
- Pipes and filters
- A chain of processes where the output of each process is the input of the next.
- Opaque pointer
- A pointer to an undeclared or private type, to hide implementation details.
- Proxy pattern
- A class functioning as an interface to another thing.
Sources and credits
This article is adapted from the Wikipedia article “Structural pattern”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.