The design patterns will help you to make flexible, reusable, and maintainable software.
Creational
- Abstract Factory
- Builder
- Factory Method
- Prototype
- Singleton
Structural
Behavioral
- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template Method
- Visitor