1

プレゼンテーション層、ビジネス層、およびデータ アクセス層に分割された階層化されたプロジェクトがあるとします。CQRS を使用していた場合は、データ アクセス層からプレゼンテーション層に直接クエリを実行し、ビジネス層をバイパスします。

その場合、プレゼンテーション レイヤーで ViewModel を使用している場合、データ アクセス レイヤーは、プレゼンテーション レイヤーの ViewModel に関するデータを返すために、プレゼンテーション レイヤーへの参照を必要とします。それはアンチパターンではありませんか?

同様の質問がここにあります-MVC 3アプリケーションのモデル、ビューモデル、DTO

ただし、CQRS を実行している場合は、回答に記載されているように、ViewModel と Domain オブジェクトの間でマッピングを行うことはありません。これは、ドメイン/ビジネス レイヤーをバイパスしているためです。

4

1 に答える 1

2

私がCQRSを理解している限り、UI(PresentationLayer)に渡されるクエリ側(別名DataAccessLayer)からDTO(DataTransferObjects)を取得します。

これらのDTOは、ビューに必要なすべてのデータを提供する場合、ビューのViewModelとして直接使用できます。または、ViewModel内の他のDTOと集約できます。ビューに表示されるデータに依存すると思います。

質問に答えるには:ViewModelsはPresentationLayerの一部です。

于 2012-07-13T07:50:44.443 に答える