Introduction
A pattern (or design pattern) is a written document that describes a general solution to a design problem that occurs repeatedly in many projects.
Generic Structure
- Name that describes the pattern
- Problem to be solved by the pattern
- Context, or settings, in which the problem occurs
- Solution proposed to the problem
- Context for the solution
- Author and date information
- Sample code related to the solution, if it helps
Structure of Design Pattern
| Term | Description |
|---|---|
| Pattern Name | Describes the essence of the pattern in a short, but expressive, name |
| Intent | Describes what the pattern does |
| Also Known As | List any synonyms for the pattern |
| Motivation | Provides an example of a problem and how the pattern solves that problem |
| Applicability | Lists the situations where the pattern is applicable |
| Structure | Set of diagrams of the classes and objects that depict the pattern |
| Participants | Describes the classes and objects that participate in the design pattern and their responsibilities |
| Collaborations | Describes how the participants collaborate to carry out their responsibilities |
| Consequences | Describes the forces that exist with the pattern and the benefits, trade-offs, and the variable that is isolated by the pattern |
Importance of Design Patterns
- It makes code reusable, bug-free, and clean.
- Speed up development process.
- Changes or modification become easier.
- Reduce common problems of developers they face during development process.
- Improve object oriented skill.
- Easy to understand the flow of code.
- Less code so easy to maintain.