Ответ
Паттерны проектирования из книги "банды четырех" (GoF) делятся на три категории в зависимости от решаемых ими задач:
-
Порождающие (Creational Patterns)
Отвечают за процесс создания объектов, делая систему более гибкой и независимой от конкретных классов.
- Цель: Инкапсулировать и делегировать создание объектов.
- Примеры:
Фабричный метод (Factory Method): Создание объекта делегируется подклассам.Абстрактная фабрика (Abstract Factory): Создание семейств связанных объектов.Строитель (Builder): Пошаговое создание сложных объектов.Одиночка (Singleton): Гарантия существования единственного экземпляра класса.
-
Структурные (Structural Patterns)
Определяют, как классы и объекты могут быть скомбинированы для формирования более крупных структур с новой функциональностью.
- Цель: Организация взаимодействия между объектами.
- Примеры:
Адаптер (Adapter): Преобразование интерфейса одного класса в интерфейс другого.Декоратор (Decorator): Динамическое добавление обязанностей объекту.Фасад (Facade): Предоставление простого интерфейса к сложной системе.Компоновщик (Composite): Объединение объектов в древовидную структуру.
-
Поведенческие (Behavioral Patterns)
Определяют алгоритмы и способы взаимодействия между объектами, распределяя обязанности между ними.
- Цель: Управление коммуникацией и взаимодействием объектов.
- Примеры:
Стратегия (Strategy): Инкапсуляция и взаимозаменяемость алгоритмов.Наблюдатель (Observer): Определение зависимости "один ко многим" для оповещения об изменениях.Шаблонный метод (Template Method): Определение "скелета" алгоритма в базовом классе с возможностью переопределения шагов в подклассах.Цепочка обязанностей (Chain of Responsibility): Передача запроса по цепочке обработчиков.