mirror of
https://github.com/iandinwoodie/cpp-design-patterns-for-humans.git
synced 2025-12-17 12:34:38 +03:00
40 lines
1.5 KiB
Markdown
40 lines
1.5 KiB
Markdown

|
|
|
|
---
|
|
|
|
<p align="center">
|
|
🎉 Ultra-simplified explanation to design patterns! 🎉
|
|
</p>
|
|
<p align="center">
|
|
A topic that can easily make anyone's mind wobble. Here I try to make them stick
|
|
in to your mind (and maybe mine) by explaining them in the <i>simplest</i> way
|
|
possible.
|
|
</p>
|
|
<p align="center">
|
|
This work, "C++ Design Patterns for Humans", is a derivative of
|
|
<a href="https://github.com/kamranahmedse/design-patterns-for-humans">
|
|
"Design Patterns for Humans"</a> by <a href="https://github.com/kamranahmedse">
|
|
"kamranahmedse"</a>, used under
|
|
<a href=https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
|
|
</p>
|
|
|
|
---
|
|
|
|
## Introduction
|
|
|
|
Design patterns are solutions to recurring problems; **guidelines for how to
|
|
tackle certain problems**. They are not classes, packages, or libraries that
|
|
you can plug into your application and wait for the magic to happen. These are,
|
|
rather, guidelines on how to tackle certain problems in certain situations.
|
|
|
|
> Design patterns are solutions to recurring problems; guidelines for how to
|
|
tackle certain problems.
|
|
|
|
Wikipedia describes design patterns as:
|
|
|
|
> [...] a general reusable solution to a commonly occurring problem within a
|
|
given context in software design. It is not a finished design that can be
|
|
transformed directly into source or machine code. It is a description or
|
|
template for how to solve a problem that can be used in many different
|
|
situations.
|