0

をより堅牢にするために をpersistent layerから分離するという概念があります。これは、 でのリポジトリの実際の実装には依存せず、リポジトリ インターフェイスのみに依存します。domain layerdomain layerpersistence layer

これは、次のことを意味します。

IPersonRepository {...} // in domain layer
PersonCassandraRepository implements IPersonRepository {...}  // in persistence layer
Person (Aggregate Root) {...}

さて、どうPersonですか?

ではanemic-domain-model、次のことができます。

IPerson {...} // in domain layer
Person implements IPerson {...} // in persistence layer

Person を永続化レイヤーに入れるのはなぜですか?
実装固有のコードが含まれているためです。
たとえば、JPA 関連のアノテーションが含まれる場合があり、リポジトリと同様に、ドメイン レイヤーにデータストア固有の実装は必要ありません。

Person にはドメインロジックが含まれていないため、anemic-domain-modelで上記を実行できます。つまり、 Person をpersistene レイヤーに配置できます。貧血ドメイン モデル
で は、データは動作から分離されているため、Person の動作は別のサービスによって行われ、Person 自体には書き込まれません。

この場合、 Person にはドメイン固有のロジックが含まれているため、rich-domain-modelでこのレイヤー分離を行うことはできません。

リッチ ドメイン モデルのアプリケーション内で、この層の分離をどのように行いますか?
あるいは必要ないと思っているのかもしれません。

4

2 に答える 2