DESIGN PATTERNS
Creational Design Patterns
Singleton: A pattern that ensures a class has only one instance.
Builder: A pattern to construct complex objects step by step.
Prototype: A pattern to create new objects by cloning existing ones.
Factory: A pattern to create objects without specifying their concrete classes.
Structural Design Patterns
Adapter: A pattern to make incompatible interfaces work together.
Decorator: A pattern to add behavior to an object dynamically.
Facade: A pattern to provide a simplified interface to a complex subsystem.
Flyweight: A pattern to minimize memory usage by sharing data among objects.
Behavioral Design Patterns
Strategy: A pattern to encapsulate interchangeable algorithms.
Observer: A pattern to define a one-to-many dependency between objects.