Design patterns are very important and it is almost used day by day in software industry.
However Some design patterns are more important then others and used aggresively.
- Model View Controller (Data change in different formats or view is implemented in different ways)
- Strategy (Encapsulate what varies and switch between algorithms)
- Singletone (Shared resource optimization)
- Factory (If new design patter)
- Facade (Hide complexity of existing system)
- Decorator (Add addons to object on runtime)
- Observer (Notification design pattern)
- ProxyRemote(Control Access to an object)
- AdapterCarBike(Convert between 2 classes were not able to communicate)
- Command(Encapsualte the command to a reciver)
- StateDP(Encapsulate status and business flows with FSM)
- TemplateDesignPattern(Writing steps of algorithm and enable hook)