Design Patterns
- A proven solution to a particular problem which is frequently occurred in application's life cycle
- There are various solutions, here we've to take strategic decision to choose the right pattern for a partular type of problem.
Creational Design Patterns
- It is all about class instantiation
- How effectively create an object and reuse it again n again
- Types: Singleton, Factory, Abstract Factory, Prototype, Builder, Object Pool, etc.
Structural Design Patterns
- The patterns all about class and object composition. ie. combining objects and class to form large composite object.
- Assign relationship between classes ie. using Inheritance.
- Types: Adapter, Bridge, Composite, Decorator, Facade, Proxy, etc.
Behavioral Design Patterns
- It is all about the identifying common communication between object.
- ie. interaction between objects (loosely coupled)
- Types: Iterator, Interpreter, Mediator, Observer (pub-sub), Visitor, Strategy, Template methods, Mediator, etc.