2017-10-19 3 views
0

私は、ユーザーがチケットを開くことができるタスク管理アプリケーションで作業しています。各チケットには短い説明フィールドがリストから選択できます。バックオフィスチームは最終的に短い説明リストを追加、削除、または更新できます。 ショートリストの変更でなければなりませんは既に作成されたチケットに影響します。DDD - バリューオブジェクトCRUD

と思う短い説明は、チケットの観点からはVOですが、CRUDの観点からもエンティティです。

2つの別々のオブジェクトをトウで区切られたリポジトリでモデル化する必要がありますか? 1つはVO(読み取り専用)、もう1つはCRUDですか?コードの複製はどうですか?

答えて

2

簡単な説明は、チケットの観点からはVOですが、CRUDの観点からはエンティティです。

これは少し疑わしいです。私はshort descriptionsが値オブジェクトだと推測しますが、current list of approved short descriptionsはエンティティです。

つまり、バックオフィスチームはドキュメントを変更しており、チケットにはチケットが作成されたときにそのドキュメントからコピーされた値が含まれています。

2

私はそれが正しいと思います。あなたは2つの境界にあるコンテキストで2つのモデルを持っています。 lastEditDate,creatorId,textRepresentatuonなどのようなさまざまなプロパティを持つCRUDエンティティでもかまいませんが、task management bcでは文字列を含む単純なvalue objectになります。データのコピーはAnti-coruptionレイヤーで行うことができます。