Паттерны проектирования (Design Patterns)
Паттернами проектирования (Design Patterns) называют решения часто встречающихся проблем в области разработки программного обеспечения. Паттерны проектирования не являются готовыми решениями, которые можно трансформировать непосредственно в код, а представляют общее описание решения проблемы, которое можно использовать в различных ситуациях.
При составлении представленного здесь каталога паттернов проектирования активно использовались материалы, указанные в списке литературы. За основу взята классификация GoF-паттернов по типам и видам. В то же время здесь нет прямого повторения материалов, представленных в GoF-каталоге. Также здесь представлены паттерны, встречающиеся в других источниках.
Существуют несколько типов паттернов проектирования, каждый из которых предназначен для решения своего круга задач:
- Порождающие паттерны, предназначенные для создания новых объектов в системе.
- Структурные паттерны, решающие задачи компоновки системы на основе классов и объектов.
- Паттерны поведения, предназначенные для распределения обязанностей между объектами в системе.
В общем случае описание каждого паттерна (шаблона) проектирования содержит следующие обязательные элементы:
- Название паттерна (оригинальное и русскоязычное). Если паттерн имеет несколько имен, то они также приводятся.
- Назначение паттерна. Здесь указывается решаемая паттерном задача.
- Общее описание паттерна.
- Структура паттерна в виде UML-диаграммы классов.
- Реализация паттерна с примерами кода на C++.
- Последствия применения паттерна.
Данная гит-книга собрана из материалов http://cpp-reference.ru/patterns/