In this article, we will explore the world of Structural pattern, delving into its most relevant and significant aspects. From its impact on society to its possible applications in the future, we will immerse ourselves in an exhaustive analysis that seeks to shed light on this exciting topic. Through research and detailed study, we hope to provide a complete and enriching vision that allows the reader to fully understand the importance and relevance of Structural pattern in today's world. Join us on this journey of discovery and inquiry, where we will explore every facet of Structural pattern to fully understand its influence and potential.
In software engineering, structural design patterns are design patterns that ease the design by identifying a simple way to realize relationships among entities.
Examples of Structural Patterns include:
- Adapter pattern: 'adapts' one interface for a class into one that a client expects
- Adapter pipeline: Use multiple adapters for debugging purposes.[1]
- Retrofit Interface Pattern:[2][3] 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.[4]
- Composite pattern: a tree structure of objects where every object has the same interface
- Decorator pattern: add additional functionality to an object at runtime where subclassing would result in an exponential rise of new classes
- Extensibility pattern: a.k.a. Framework - hide complex code behind a simple interface
- Facade pattern: create 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 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
See also
References