Design Patterns Overview
The Design Patterns is the experience in designing the object oriented code.
Recurring solutions to software design problems that are repeatedly found in real-world application development
The design patterns are language-independent strategies for solving common object-oriented design problems.
Design patterns are well-proved solution for solving the specific problem/task.
Gang Of Four-four pioneer guys who wrote a book named "Design Patterns"- Elements of Reusable Object-Oriented Software
Four essential elements for Design patterns
Why use Design Patterns?
- Pattern name
- Problem description when to apply the pattern
- Results and Consequences/Side effect
Advantage of design pattern :
- Shared Vocabulary
- Best practices to use these patterns
- Easy to maintain
- Leads to more robust application
- Design patterns are well-proved and testified solutions.
- Design patterns give the developer a selection of tried and tested solutions to work with.
- Design patterns provide the solutions that help to define the system architecture.
- Design patterns provide clarity to the system architecture.
- Design patterns are reusable and use in multiple projects.
- Design patterns makes our code easy to understand and debug.
- Design patterns helps building a better system.
- Design patterns are highly flexible and can be used in practically any type of application OR domain
- Design patterns have a proven track record as they are already widely used and thus reduce the technical risk to the project.
- Design patterns are well documented and can be researched if that is not the case.
- Design patterns are language neutral and so can be applied to any language that supports object-orientation
Overall Design Patterns Class / Interface
Design Patterns Relationships