タグ付けされた質問 「value-object」

2
エンティティの既知のビジネスIDは、DDD / OOPの専用タイプで表す必要がありますか?
実際には、カスタムタイプ(不変)classをstring他のプリミティブ型の上で使用することを意味します。 例: 出版:国際標準図書番号。 金融:国際証券識別番号。 利点: 識別子の形式を確認できます。 モデルのファーストクラスのメンバーになります。 短所: 永続化の摩擦を追加します(例:Entity Framework)。 より多くのコード。

3
ドメイン主導の設計で、主キーを持つデータベーステーブルを値オブジェクトに変換するにはどうすればよいですか?
次のように定義されたデータベーススキーマがあるとします。 Person.mail_address_key ----- Address.address_key Person.billing_address_key ----- Address.address_key A Personには郵送先住所と請求先住所があります。非正規化手法として、別のAddressテーブルを作成します。時間のほとんどは、mail_address_keyおよびbilling_address_key単一のはPerson同じ値になります(例:自分の郵送や請求先住所のキーが同じになります)。 私のデータベースでAddressは、IDがあります(アドレスキー)。しかし、私のドメインモデルではAddress、がエンティティになる説得力のある理由はわかりません。値オブジェクトにしたいのですが。 DDDでは、これはオプションですか?または、値オブジェクトは通常、(テーブルではなく)列のグループですか?データベースがドメインモデルの構造を指示するべきではないと思うので、ここでは悪魔の擁護者を演じています。 もしそうなら、アドレスはどこで/いつ/どのようにデータベースのアイデンティティを失うので、ドメインレイヤーの値オブジェクトとして使用できますか?または、データベース識別子を値オブジェクトに保持することになっていますか? モデルをデータベースに永続化する必要がある場合、プロセスは何ですか?私はa)これらのフィールドでアドレスを検索し、b)存在しない場合は新しいアドレスを作成しますc)存在する場合はフィールドを更新しますか?

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