Beim Versuch, einige Entitäten in Wertobjekte umzuwandeln, stecke ich in einem Fall fest, in dem das, was als Wertobjekt erscheint, innerhalb eines Aggregats eindeutig sein muss.
Angenommen, wir haben eine Movie- Entität, die die Wurzel eines Aggregats bildet. Dieser Film Einheit ist mit einem gewissen Satz von verwandten AdvertisementEvent Objekte mit der Rolle der Anzeige einer Werbung zu bestimmten Zeitstempel.
Das AdvertisementEvent enthält einen Link zu einem Banner , das angezeigt werden muss, die Koordinaten und einige Effektfilter.
Da AdvertisementEvent nur eine Sammlung von Konfigurationsparametern ist, bin ich mir nicht sicher, ob ich mich um seine Identität kümmern und es wie ein Objekt mit großem Wert behandeln soll. Es ist mir jedoch wichtig, dass innerhalb eines Films zu einem bestimmten Zeitstempel nur ein Werbeereignis vorhanden sein muss , wahrscheinlich sogar um die Zeitstempel herum .
Es fällt mir schwer, meine Zweifel in mehrere unabhängige Fragen aufzuteilen.
- Klingt eine Sammlung von Konfigurationsparametern wie ein Wertobjekt?
- Mische ich das Konzept der Einzigartigkeit von AdvertisementEvent innerhalb der Film- und Transaktionsintegritätsregel?
- Bedeutet eine der Auswahlmöglichkeiten in Punkt (2), dass AdvertisementEvent Mitglied des von Movie erstellten Aggregats sein muss ?
- Ist mein AdvertisementEvent- Objekt eine Entität, ein Wertobjekt oder ein Ereignisobjekt? (Ich habe das Ereignissuffix im Namen verwendet, um meine Verwirrung hervorzuheben.)
- Sind solche großwertigen Objekte ein Designgeruch?
Ich denke, ich habe es nicht mit einem Ereignis im Sinne von DDD zu tun, weil es nicht einfach so passiert . Das eigentliche DDD-Ereignis sollte eher AdvertisementEventReached ähneln
quelle