プレゼンテーション層、ビジネス層、およびデータ アクセス層に分割された階層化されたプロジェクトがあるとします。CQRS を使用していた場合は、データ アクセス層からプレゼンテーション層に直接クエリを実行し、ビジネス層をバイパスします。
その場合、プレゼンテーション レイヤーで ViewModel を使用している場合、データ アクセス レイヤーは、プレゼンテーション レイヤーの ViewModel に関するデータを返すために、プレゼンテーション レイヤーへの参照を必要とします。それはアンチパターンではありませんか?
同様の質問がここにあります-MVC 3アプリケーションのモデル、ビューモデル、DTO
ただし、CQRS を実行している場合は、回答に記載されているように、ViewModel と Domain オブジェクトの間でマッピングを行うことはありません。これは、ドメイン/ビジネス レイヤーをバイパスしているためです。