私はMVVMでプロジェクトに取り組んでいます。一部のViewModelには複数のリポジトリがあります。
良い
ViewModelの目的は、データが格納されている場所を抽象化することです。これにより、ビューは、ユーザーにとって意味のある方法でデータを表示できますが、バックエンドに一致するデータである必要はありません。たとえば、SQLのクエリからのデータとWebサービスからのデータがあり、そのデータを拡張する場合、単一のViewModelを使用してそれをビューにプッシュすると、設計されたとおりのことを実行していると私は言う。ビューの複数のリポジトリに格納されているデータの複雑さを抽象化しているため、どのビューを使用する場合でも、使いやすく簡潔なViewModelを使用できます。
例:
収集して表示する必要のあるデータがいくつかあります。
これらすべてをViewModelにまとめます。
これらすべての情報を単一のページに表示したいので、単一のViewModelアプローチにより、ビューに表示できる単一のオブジェクトが得られます。 1つのビューに複数のViewModelがある場合、またはビュー自体でその集計と計算を実行しようとする場合、パターンの利点を損なうため、通常のASP.NET/Silverlight/whateverに戻ることもできます。モデルが変更された場合、それらのリポジトリーがViewModelに到達する方法を変更できますが、Viewはデータがどこから来ているかではなく、ViewModelのみを対象としているため、対象外です(必要ありません)。