What is Design Pattern:
Design Pattern: Is a general reusable solution to a commonly occurring problem in software.
Design Patten is a description or template of how to solve the problem we usually face during software development life cycle. It is showing relationship between classes without specifying how the final application will looks like. It is usually show the overall pattern that followed by the entire application/system.
Benefits of using Design Patterns:
- It is proven solution to solve issues related to Software Development, and it facilitates thedevelopment of higly cohesive modules with minimal coupling .
- Making the overall system easier to understand and maintain.
- Making the communication between designers more efficient. Software professionals immediately understand the design when referring to the name of the design pattern used to solve the issue during discussing system design
Design Patterns Categories:
Creational Design Patterns:
- Abstract factory (Frequently used)
- Builder
- Factory method
- Prototype
- Singleton (Frequently used)
Structural Design Patterns:
Behavioral Design Patterns:
- Chain of responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template method
- Visitor