一部のエンティティを値オブジェクトに変換しようとすると、値オブジェクトが集約内で一意でなければならない場合に行き詰まります。
集約のルートを作成するMovieエンティティがあるとします。このMovieエンティティは、特定のタイムスタンプで広告を表示する役割を持ついくつかのAdvertisementEventオブジェクトのセットに関連付けられています。
AdvertisementEventはいくつかへのリンクが含まバナーが表示されている必要があり、座標といくつかの効果フィルタを。
以来AdvertisementEventだけで設定パラメータのコレクションを、私はそのアイデンティティを気にしてばかり大きな値オブジェクトのように扱う必要がある場合、私はわかりません。ただし、映画内では、特定のタイムスタンプで、おそらくタイムスタンプの前後でも、AdvertisementEventが1つだけであることを気にします。
私は疑問を複数の独立した質問に分割するのが難しいので、そこに行きます:
- ない設定パラメータのコレクションは、値オブジェクトのように聞こえますか?
- 映画内のAdvertisementEventの一意性の概念とトランザクション整合性ルールを混在させていますか?
- ない任意の時点での選択肢(2)のがあることを意味AdvertisementEventがで作られた集合体のメンバーでなければなりません作品?
- 私のあるAdvertisementEventのオブジェクトは、エンティティ、値オブジェクトやイベントオブジェクト?(私の混乱を強調するために、名前にイベントサフィックスを使用しました)
- このような大きな値のオブジェクトはデザインのにおいですか?
私はそれだけで何かではないので、私はDDDの意味でのイベントはお取り扱い致しておりませんことを推測起こります。実際のDDDイベントは、AdvertisementEventReachedのようなものでなければなりません。