Structural pattern

A structural pattern is a software design pattern that encapsulates relationships between entities.

Examples

Examples 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
An adapter used as a new interface for multiple classes at the same time.[2][3]
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
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.

See also

References

  1. ^ "Adapter Pipeline". Cunningham & Cunningham, Inc. 2010-12-31. Archived from the original on 2010-12-31. Retrieved 2012-07-20.
  2. ^ BobbyWoolf (2002-06-19). "Retrofit Interface Pattern". Cunningham & Cunningham, Inc. Archived from the original on 2002-06-19. Retrieved 2012-07-20.
  3. ^ MartinZarate (2010-12-31). "External Polymorphism". Cunningham & Cunningham, Inc. Archived from the original on 2010-12-31. Retrieved 2012-07-20.
  4. ^ "Tomb Stone". Cunningham & Cunningham, Inc. 2007-06-17. Archived from the original on 2007-06-17. Retrieved 2012-07-20.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.