Шаблони проектування (Design Patterns) - це типові рішення поширених проблем у проектуванні програмного забезпечення. Вони є готовими архітектурними конструкціями, які можна адаптувати під конкретні потреби.
Відповідають за створення об'єктів, роблячи процес більш гнучким і контрольованим.
Допомагають компонувати класи та об'єкти у більші структури, зберігаючи при цьому їхню гнучкість та ефективність.
Пов'язані з алгоритмами та розподілом обов'язків між об'єктами.
| Шаблон | Тип | Призначення |
|---|---|---|
| Singleton | Породжувальний | Гарантує, що клас має лише один екземпляр |
| Observer | Поведінковий | Визначає залежність "один-багато" між об'єктами |
| Factory Method | Породжувальний | Надає інтерфейс для створення об'єктів |
| Decorator | Структурний | Додає об'єктам нові обов'язки |
| Strategy | Поведінковий | Інкапсулює алгоритми в окремі класи |
Шаблони проектування варто використовувати коли:
Однак не варто використовувати шаблони просто заради їх використання - вони мають вирішувати конкретні проблеми.