ドメイン駆動設計の基礎を理解しようとしています。昨日、私が取り組んでいるプロジェクトで、リポジトリがエンティティのリストを返したコードを見つけました。ここで、DDD のリポジトリについて読むと、リポジトリが集約ルートを返す必要があること、および集約に対するアクションは集約ルートのメソッドを呼び出して実行する必要があることがかなり具体的です。
リストを独自のクラスに配置して、そのクラスを返すだけです。ただし、私のプロジェクトでは、メッセージを表示するか、新しいメッセージを追加するか、既存のメッセージを削除するだけなので、DDD への準拠を除いて、基本的にそれを行う必要はありません。すべてのメッセージを削除する必要はないので、メソッドはaddMessage(...)
、getMessages()
、updateMessage(...)
およびのみremoveMessage(...)
です。これは、基本的にドメイン サービスが行っていることです。
アイデアはありますか?Aggregate と Repositories を記述する際の DDD のベスト プラクティスは何ですか?