Structural Flashcards
Adaptor
Convert the interface of a class into another interface the client expects. Let classes work together that couldn’t otherwise because of incompatible interfaces.
Facade
Provide a unified interface to a set of interfaces in a subsystem. Defines a higher-level interface that makes the subsystem easier to use.
Decorator
Attach additional responsibilities to an object dynamically. Provide a flexible alternative for subclassing for extending functionality.
Bridge
Decouple an abstraction from its implementation so that the two can vary independently.
Flyweight
Use sharing to support large numbers of fine-grained objects efficiently.
Composite
Arrange objects into tree structures to represent part-whole hierarchies. Let clients treat individual objects and collections of objects uniformly.
Proxy
Provide a surrogate or placeholder for another object to control access to it.