Design Pattern is a general reuseable solutions to the problems which are commonly occurring in time of software Design.
Gang Of Four peoples design those Design Pattern under the two main principles.
- Favor object composition over inheritance.
- Code for interface not for implementation
- Creational Patterns
- Structural Patterns
- Behavioral Patterns
Under these three we have 23 Design Patterns.
Creational Design Pattern Deals with the Object creation. It helps to solve problems in creating object in different situations.
Structural patterns explain how to assemble objects and classes into larger structures while keeping these structures flexible and efficient.
- Adapter Pattern
- Bridge Pattern
- Composite Pattern
- Decorator Pattern
- Facade Pattern
- Flyweight Pattern
- proxy Pattern
Behavioral design patterns are concerned with algorithms and the assignment of responsibilities between objects.
- Chain of Responsibility Pattern
- Command Pattern
- Interpreter Pattern
- Iterator Pattern
- Mediator Pattern
- Memento Pattern
- Observer Pattern
- State Pattern
- Strategy Pattern
- Template Pattern
- Visitor Pattern