5/22

ドメイン駆動設計 サンプルコード&FAQ の p.34 - p.35 で、メールアドレスのリストが値オブジェクトとしてリストでユーザーに関連づけられていますが、DB内の1つのメールアドレスを更新したいときにはどうすればよいでしょう?
メールアドレス自体にIDが存在しないので、1つだけ更新するときに検索できないのではと思いました。メールアドレスを集約外にして、エンティティとして定義し直すべきでしょうか。

集約の子オブジェクトの更新方法の詳細は、「とにかくリポジトリの実装クラスでなんとかする」というのが答えになります。(続) これは時に煩雑なコードになりますが、その分リポジトリ以外のクラスがかなりシンプルになります。 詳細はドメイン駆動設計FAQ「4.2.1 集約の子オブジェクトをどうやって更新する?」にありますので、こちらをご覧ください。 https://gyazo.com/10345298686a26f3e326f4c119fc1b2f https://gyazo.com/e0c9715ac3ee3d21d74f8ba00044d8d0

スポンサーリンク

スポンサーリンク

スポンサーリンク