The Chain of Responsibility design pattern chains different classes inside each other to create a chain of escalation. An appeal to the chain makes the right handler answer the call.
The Proxy design pattern, gives you more control over how you use the original object with a stand-in object.
Use the flyweight design pattern to go easy on the system memory.
The facade design pattern is a structural pattern that provides a simpler interface to a complex subsystem.
The decorator pattern lets you extend the functionality of a class without object inheritance.
Use the Composite object oriented design pattern to solve problems that require building a tree structure.
The bridge design pattern is a structural pattern that decouples abstraction from implementation, allowing them to vary independently.
The adapter design pattern can make two interfaces compatible with each other.