What's A Design Pattern
What's A Design Pattern
Autumn
Autumn SALE
SALE
/ Design Patterns
You can’t just find a pattern and copy it into your program, the way you can with off-the-shelf
functions or libraries. The pattern is not a specific piece of code, but a general concept for solving a
particular problem. You can follow the pattern details and implement a solution that suits the
realities of your own program.
Patterns are often confused with algorithms, because both concepts describe typical solutions to
some known problems. While an algorithm always defines a clear set of actions that can achieve
some goal, a pattern is a more high-level description of a solution. The code of the same pattern
applied to two different programs may be different.
An analogy to an algorithm is a cooking recipe: both have clear steps to achieve a goal. On the
other hand, a pattern is more like a blueprint: you can see what the result and its features are, but
the exact order of implementation is up to you.
Intent of the pattern briefly describes both the problem and the solution.
Motivation further explains the problem and the solution the pattern makes possible.
Structure of classes shows each part of the pattern and how they are related.
Code example in one of the popular programming languages makes it easier to grasp the idea
behind the pattern.
https://refactoring.guru/design-patterns/what-is-pattern 1/2
9/22/24, 2:22 PM What's a design pattern?
Some pattern catalogs list other useful details, such as applicability of the pattern, implementation
steps and relations with other patterns.
Autumn
Autumn SALE
SALE
2014-2024 Refactoring.Guru. All rights reserved. Terms & Conditions Privacy Policy
Illustrations by Dmitry Zhart Content Usage Policy About us
https://refactoring.guru/design-patterns/what-is-pattern 2/2