Flyweight pattern is a structural design pattern used to minimize memory usage and improve program performance. This pattern avoids excessive memory consumption by sharing objects with similar properties.
The Facade design pattern is a structural design pattern that provides a simple interface to a complex set of classes, interfaces, and objects. This pattern hides the complexity of the system and provides a single entry point to access the system.
The Decorator design pattern is a structural design pattern that allows you to dynamically add behavior to an object at runtime. This template can add additional behavior to a class or modify existing behavior without changing the parent object.
The Composite design pattern is a structural design pattern that allows you to combine objects in tree structures to create a hierarchy of objects.
Proxy pattern is a structural pattern that provides a substitute or placeholder for another object through which that object can be controlled.
The Bridge pattern is a structural design pattern that separates abstractions from implementations so that they can be independent.
Adapter design pattern is a structural design pattern that connects two incompatible classes through an interface class.