Классификация паттернов.
Паттерны проектирования различаются по сложности, уровню детализации и масштабу применимости к проектируемой системе в целом. Здесь уместна аналогия со строительством дорог: сделать перекрёсток безопаснее можно, либо установив пару светофоров, либо построив целую многоуровневую развязку с подземными переходами для пешеходов.
Самые базовые и низкоуровневые паттерны часто называют идиомами. Обычно они применимы только к одному языку программирования.
Самые универсальные и высокоуровневые паттерны — это архитектурные паттерны. Разработчики могут реализовать их практически на любом языке. В отличие от других паттернов, они применяются для проектирования архитектуры целого приложения.
Кроме того, все паттерны можно классифицировать по их назначению, или цели. Этот каталог охватывает три основные группы паттернов:
-
Порождающие паттерны предоставляют механизмы создания объектов, которые повышают гибкость и переиспользование существующего кода.
-
Структурные паттерны объясняют, как собирать объекты и классы в более крупные структуры, сохраняя при этом эти структуры гибкими и эффективными.
-
Поведенческие паттерны отвечают за эффективное взаимодействие и распределение обязанностей между объектами.