=> Design patterns are the well proved solution of commonly occurring problems is software design.
=> Design patterns represents and idea.
- Creational design pattern
=> Factory Pattern, Builder Pattern, Singleton Pattern etc.
- Structure Design Pattern
=> Proxy Pattern, Adaptor Pattern etc.
- Behavioural Design Pattern
=> Observer Pattern State Pattern, Iterator Pattern etc.
Christopher Alexander was the first person who invented all the above Design Patterns in 1977