Согласно Синей книге DDD (, Эванс )Фабрика несет ответственность за создание Агрегатного корня в допустимом состоянии. Означает ли это, что он должен иметь возможность создавать технический идентификатор (objectId в мире mongoDB ), а также идентификатор домена?
С одной стороны, это кажется технической деталью, и было бы нормально позволить Mongo заняться созданием идентификатора.
С другой стороны, включение запросов по идентификатору (при наличии getById
в репозитории DDD )предоставляет домену технический идентификатор, что, в свою очередь, возлагает ответственность за его создание на Фабрику.
Возможно, я не могу понять различные варианты использования -/ совпадения и т. д. технических идентификаторов и доменных идентификаторов, или, возможно, я переусердствую, но я все равно был бы признателен за ваше мнение.
Короче :В DDD :Должна ли фабрика иметь возможность создавать как технический идентификатор, так и идентификатор домена?
возможная реализация :Hi/Lo(Как установить начальное значение последовательности hilo в MongoDB Norm?)
РЕДАКТИРОВАТЬ:хотя путь hi/lo предоставляет Фабрике уровень персистентности, который должен знать только репозиторий. хммм
Спасибо