Structural Pattern
   HOME

TheInfoList



OR:

In software engineering, structural design patterns are
design patterns ''Design Patterns: Elements of Reusable Object-Oriented Software'' (1994) is a software engineering book describing software design patterns. The book was written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, with a foreword ...
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. ** 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 The bridge pattern is a design pattern used in software engineering that is meant to ''"decouple an abstraction from its implementation so that the two can vary independently"'', introduced by the Gang of Four. The ''bridge'' uses encapsulation, a ...
: 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: add additional functionality to an object at runtime where subclassing would result in an exponential rise of new classes *
Extensibility pattern Extensibility is a software engineering and systems design principle that provides for future growth. Extensibility is a measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be t ...
: 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 In computer programming, the flyweight software design pattern refers to an object that minimizes memory usage by sharing some of its data with other similar objects. The flyweight pattern is one of twenty-three well-known '' GoF design patterns' ...
: 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 Pipe(s), PIPE(S) or piping may refer to: Objects * Pipe (fluid conveyance), a hollow cylinder following certain dimension rules ** Piping, the use of pipes in industry * Smoking pipe ** Tobacco pipe * Half-pipe and quarter pipe, semi-circula ...
: 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

* Behavioral pattern * Concurrency pattern * Creational pattern


References

{{DEFAULTSORT:Structural Pattern Software design patterns Articles with example Java code Articles with example C Sharp code