Основные типы шаблона проектирования в программной инженерии
Творческие шаблоны
Creational Patterns решает проблемы, связанные с созданием объектов в системе. Целью этих шаблонов проектирования является описание процедуры выбора класса нового объекта и обеспечения правильного количества этих объектов. Обычно это динамические решения, принимаемые во время работы программы.
Структурные образцы
Структурные шаблоны – это группа шаблонов проектирования, фокусирующаяся на возможностях организации отдельных классов или компонентов в системе. Цель – сделать систему более понятной и использовать возможности структурирования кода.
Поведенческие модели
Паттерны поведения интересуются поведением системы. Они могут быть основаны на классах или объектах. Для классов при разработке решений используется принцип наследования. Второй подход касается взаимодействия между объектами и группами объектов, что обеспечивает достижение желаемого результата.
Рекомендуемая структура записи в архиве шаблонов проектирования
Название и классификация дизайна: уникальное имя, которое адекватно описывает дизайн, помогая идентифицировать его и ссылаться на него.
Цель: описание цели, для которой был создан узор.
Также известен как: Другие названия того же шаблона.
Контекст: архитектурная или проектная ситуация, когда описание шаблона полезно (действительно).
Мотивация (противодействующие силы): описание проблемы, которую должен решить шаблон.
Использование: ситуации, в которых можно использовать узор. Это контекст паттерна.
Структура: Графическое изображение узора. Для этой цели можно использовать диаграммы классов или диаграммы взаимодействия.
Участники: список классов и объектов, используемых в этом шаблоне, и их роль в дизайне.
Сотрудничество: описание того, как классы, используемые в данном шаблоне, взаимодействуют друг с другом.
Последствия: описание результатов, побочных эффектов и проблем, связанных с использованием шаблона.
Реализация: Описание реализации паттерна.
Пример кода: иллюстрация того, как шаблон можно использовать в языке программирования.
Известные применения: примеры практического использования данного шаблона.
Связанные шаблоны: другие шаблоны, связанные с этим шаблоном. Обсуждение отличий этого паттерна от подобных ему паттернов.

