0

サービスには、dalモデルレイヤーとドメインモデルレイヤーがあります。ドメインモデルは、それを介してdbを操作するためのdalにアクセスできます。ここで、ドメインモデル内の別のオブジェクトからいくつかのプロパティを取得する必要が生じます(これにより、クライアントの使用が大幅に容易になります)。しかし、これらのプロパティ(「エイリアン」から)オブジェクトを特定のオブジェクトに入力する場所については混乱しています。ドメインモデルでそれを行うことはできますか?またはサービス自体で?

DDDは初めてなので、自分の言葉で説明します。プロジェクトの構造は次のとおりです。DAL(DTOについて知っている)DTO DomainModel(DALとDTOについて知っている)サービス(DomainModelとDTOについて知っている)

サービスはDTOを返し、domainModel2クラスによって自然に取得できるいくつかのプロパティをdto1(domainModel1クラスによって操作される)に追加する必要があると仮定します。それで、問題は、どのレイヤーがこれに最も適切であるかということです。

PSモデルはシステムの投影であり、それはその要素間の関係であるため、domainModel1からdaominModel2を呼び出さない理由はありませんか?

4

1 に答える 1

0

dto1にいくつかのプロパティを追加する必要があります(domainModel1クラスによって操作されます)

ここでの問題は、ドメインオブジェクトがDTOを操作することのようです。ドメインレイヤーは、DTOとDALに依存しない必要があります。

DTOは、特定のアプリケーションがデータを提示する必要がある方法の詳細です。DALは、特定のアプリケーションがデータを保存する必要がある方法の詳細です。これらはドメインから分離する必要があります。

ドメインは詳細に依存するべきではありません。詳細はドメインによって異なります。

別のオブジェクトからDTOにいくつかのプロパティを追加する必要があるのは、クライアントで使用するためであるとおっしゃいました。したがって、ドメインでそれを処理しないでください。アプリケーション層にサービスを作成し、エンティティ1とエンティティ2のデータをDTOに集約してから、DTOをクライアントに渡します。

于 2012-07-11T14:31:24.833 に答える