Middle
40
questionbank

Какие классификации паттернов проектирования вам известны?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Паттерны проектирования классифицируются по двум основным признакам: по назначению и по области применения.

По назначению:

  • Порождающие (Creational patterns): Описывают способы создания объектов, скрывая логику их создания и оптимизируя этот процесс.
  • Структурные (Structural patterns): Описывают способы объединения классов и объектов в более крупные структуры, упрощая проектирование сложных систем.
  • Поведенческие (Behavioral patterns): Описывают способы взаимодействия и распределения ответственности между объектами, улучшая гибкость и расширяемость поведения системы.

По области применения:

  • Паттерны классов (Class patterns): Связаны с взаимоотношениями между классами, определяются на этапе компиляции и используют наследование.
  • Паттерны объектов (Object patterns): Связаны с взаимоотношениями между объектами, определяются на этапе выполнения и используют композицию и делегирование.

Примеры паттернов по категориям из "банды четырех" (GoF):

НазначениеПаттерны
ПорождающиеАбстрактная фабрика, Строитель, Фабричный метод, Прототип, Одиночка
СтруктурныеАдаптер (объектов), Мост, Компоновщик, Декоратор, Фасад, Приспособленец, Заместитель
ПоведенческиеЦепочка обязанностей, Команда, Итератор, Посредник, Снимок, Наблюдатель, Стратегия, Шаблонный метод, Посетитель