Skip to content


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.