私は DDD の原則に従っています (このトピックに関する Eric Evans の本に従っています) が、最近本を読み直し始めたところ、次の原則の 1 つから逸脱しているように見えることに気付きましたrepositories
...
「グローバルアクセスが必要なオブジェクトの種類ごとに、メモリ内コレクションのような錯覚を提供できるオブジェクトを作成します...」
私はrepository
for every aggregate
を作成するという点でこれから逸脱しましたが、これが私によく合っていることがわかりました。aggregate
が別のものに関連付けられている場合でも、 (通常はファクトリ内で) の作成中にaggregate
関連付けられた集約を参照するだけです。repository
entity
私が見つけたこれを行う利点は、リポジトリでのキャッシュなどの操作を実行するときです。また、オブジェクトの作成/永続化とドメインの間の分割が非常に簡素化されます。
どこが間違っているのかを理解するために、この「グローバルアクセス」が適切でない例を教えてください。