Обзор паттернов проектирования

       

Создатель экземпляров класса (Creator) - GRASP


Проблема "Кто" должен отвечать за создание экземпляров класса.
Решение Назначить классу В обязанность создавать объекты другого класса А
Рекомендации Логично использовать паттерн если класс В содержит, агрегирует, активно использует и т.п. объекты класса А.
Пример См. пример к паттерну "Информационный эксперт" в п. , необходимо определить, какой объект должен отвечать за создание экземпляра "ТоварПродажа". Логично, чтобы это был объект "Продажа", поскольку он содержит (агрегирует) несколько обьектов "ТоварПродажа".

Создатель экземпляров класса (Creator) - GRASP

Преимущества Использование этого паттерна не повышает связанности, поскольку созданный класс, как правило, виден только для класса - создателя.
Недостатки Если процедура создания объекта достаточно сложная (например выполняется на основе некоего внешнего условия), логично использовать паттерн "Абстрактная Фабрика", см. , то есть, делегировать обязанность создания обьектов специальному классу.



Содержание раздела