Gemäß DDD (Blue Book, Evans) ist eine Factory dafür verantwortlich, eine Aggregatwurzel in einem gültigen Zustand zu erstellen. Bedeutet das, dass es in der Lage sein sollte, die technische ID (objectId in der mongoDB-Welt) sowie die Domain-ID zu erstellen?DDD und MongoDB: Ist es in Ordnung, Mongo ObjectIDs zu erstellen?
Auf der einen Seite scheint dies ein technisches Detail zu sein und es scheint in Ordnung zu sein, Mongo die Erstellung der ID zu überlassen.
Auf der anderen Seite stellt die Abfrage nach ID (indem sie in einem DDD-Repository hat) die technische ID der Domäne zur Verfügung, was wiederum die Verantwortung der Factory zur Erstellung dieser Domain macht.
Vielleicht kann ich nicht den Kopf über die verschiedenen Anwendungsfälle/Überlappungen usw. von Technical Ids vs DomainId oder vielleicht bin ich übereifrig, aber ich würde Ihre Meinung sowieso schätzen.
Kurz gesagt: In DDD: Sollte eine Fabrik in der Lage sein, die technische Id sowie die Domain-ID zu erstellen?
mögliche Implementierung: Hallo/Lo (How to set the hilo sequence starting value in MongoDB Norm?)
EDIT: obwohl die hallo/lo Art und Weise macht die Fabrik auf die Persistenz-Schicht, die etwas ist, nur das Repository wissen sollte. hmmm
Dank
Minor nicht ganz relevanten Kommentar; MongoDB erstellt die IDs nicht wirklich, der Client (Treiber) tut dies (mit Ausnahme von Upsert-Operationen). –