Re[2]: Взаимодействие фабрики и репозитори объектов
От: Strategy  
Дата: 07.08.14 11:14
Оценка:
BB>Насколько вообще важна Фабрика в данном случае? Если она просто создаёт пустой объект,
BB>то с этим и Репозиторий вполне справится внутри, например, Repository.CreateObject.

Фабрика отвечает:
1. за выбора фактического класса объекта для создания объекта
2. за выбор и вызов нужного конструктора выбранного класса объекта с определенными параметрами
3. за уведомление подписчиков о создании нового объекта

То есть фабрика — это совокупность параметров, достаточная для того, чтобы создать новый объект вызовом одного непараметризованного метода CreateObject.

BB>Означает ли это, что добавляется всегда пустой объект, затем ему задаются свойства?

BB>По идее, правильный порядок действий таков:
BB>- создать пустой объект
BB>- задать свойства
BB>- отдать в Репозиторий
BB>Такой подход позволяет сделать Репозиторий ответственным за валидацию
BB>как в случае добавления, так и в случае обновления.

Такая последовательность действий тоже возможна. Но в любом случае фабрика создает не совсем пустой объект. И в любом случае допускается, что клиент может подать в репозитори объект с некорректным состоянием, но должен исправить это состояние до завершения изменений.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.