Ich wickle immer noch den Kopf über DDD, und einer der Stolpersteine, die ich angetroffen habe, ist, wie man mit Assoziationen zwischen separaten Aggregaten umgehen kann. Angenommen, ich habe ein Aggregat, das Kunden einkapselt, und ein weiteres, das Verkehre einkapselt.Wie gehen Sie mit Assoziationen zwischen Aggregaten in DDD um?
Aus geschäftlichen Gründen Sendungen sind ihre eigenen Aggregate, und doch müssen sie explizit an Kunden gebunden sein. Sollte meine Kundendomäneneinheit eine Liste von Sendungen haben? Wenn ja, wie befülle ich diese Liste auf der Repository-Ebene - vorausgesetzt, ich verfüge über ein CustomerRepository und ein ShipmentRepository (ein Repo pro Aggregat)?
Ich sage 'Assoziation' und nicht 'Beziehung', weil ich betonen möchte, dass dies eine Domänenentscheidung ist, keine Infrastruktur - ich entwerfe das System zuerst vom Modell.
Bearbeiten: Ich weiß, ich brauche Tabellen nicht direkt zu Objekten modellieren - das ist der Grund, warum ich das Modell zuerst entwerfe. An dieser Stelle interessiert mich die Datenbank überhaupt nicht - nur die Assoziationen zwischen diesen beiden Aggregaten.
ddd ist das nicht das Gnu-Tool http://www.gnu.org/software/ddd/? seit wann steht ddd für domain-driven-design ??? – Johan
@ Johan - eine Weile, jetzt - http://domaindrivendesign.org/ –
@Erik, gut Dinge ändern sich und so tun die kurzen Versionen der langen Worte. – Johan