De acuerdo con DDD (Blue book, Evans), una fábrica tiene la responsabilidad de crear una raíz agregada en un estado válido. ¿Significa esto que debería ser capaz de crear la identificación técnica (objectId en el mundo de mongoDB) así como también la ID del dominio?DDD y MongoDB: ¿Está bien dejar que Mongo cree ObjectIDs?
Por un lado, esto parece un detalle técnico y parecería correcto dejar que Mongo maneje la creación del ID.
Por otro lado, permitir consultar por id (al tener getById
en un repositorio DDD) expone la identificación técnica al dominio, que a su vez sería responsabilidad de la fábrica crearla.
Tal vez no entiendo bien los diferentes casos de uso/solapamiento, etc. de IDs Técnicas frente a DomainId's o tal vez estoy exagerando, pero agradecería su opinión de todos modos.
En resumen: En DDD: ¿Debería una fábrica poder crear el Id técnico así como el Id del dominio?
posible implementación: Hi/Lo (How to set the hilo sequence starting value in MongoDB Norm?)
EDIT: aunque el/forma hi lo expone a la fábrica a la capa de persistencia, que es algo que sólo el repositorio debe saber. hmmm
Gracias
Comentario no del todo relevante; MongoDB en realidad no crea los ID, el cliente (controlador) sí (a excepción de las operaciones de inserción). –