1

私の質問は次のとおりです。

  1. ViewModel複数をサポートできる/サポートする必要がありViewsますか?
  2. Viewを複数でサポートできる/サポートする必要がありますViewModelsか? (この質問への答えは「はい」だと思います)。

比較的小さなモジュールの場合、比較的小さなビューを持つような状況のベストプラクティスは何ですか? したがって、そのような状況では、ViewModelsビューごとに複数を作成するかViewModel、同じモジュール内のすべてのビューを提供するために単一を使用する必要があります。注: 小さいモジュール内のビューの数は 5 ~ 6 に制限されています。

4

2 に答える 2

1

これが私の見解です-

  1. はい、同じViewModelを複数のビューで使用できます。たとえばCustomerViewModel、顧客の詳細といくつかのコマンドがある場合、このViewModelを、DataGridすべての顧客を表示するビューで使用できます(したがって、ObservableCollection<CustomerViewModel>が使用されます)。また、同じViewModelを、編集するフォームを持つビューで使用できます。単一の顧客の詳細。

  2. 状況によって異なりますが、通常はありません。ビューが複数のビューで構成されている場合、ビューは複数のViewModelに依存できます。たとえば、複数のビューを持つ単一のウィンドウ。たとえば、顧客のリスト、新しい顧客を追加するためのフォーム、製品を表示するためのセクションなどを含むダッシュボード。 ただし、この場合でも、他のサブビューモデルのインスタンスを含む単一の親ViewModelを作成することをお勧めします。

    私は常に、単一のビューに対して1つのViewModelを使用し、そのようにアプリケーションを設計しようとしています。

しかし、そうです、それはすべて、アプリケーションと、ビューとビューモデルをどのように設計するかによって異なります。MVVMでは、最初にビジネスロジックに基づいてモデルとViewModelを設計し、次にそれらをビューで使用します。

この同様の質問もご覧ください-ビューごとまたはモデルごとのViewModel?

于 2012-06-14T06:58:55.727 に答える
0

場合によります。たとえば、一連の観測を含むモデルがある場合、1つはチャート、もう1つはグリッドの2つのビューを同じように提供できます。つまり、同じ概念モデルについて異なる見方をしているということです。ビューがさまざまなものを持つサブビューで断片化されたページである場合、これらすべての部分にそれらを提供する特定のビューモデルを用意することをお勧めします。過去に私が経験した個人的な経験として、単一のモデルによって提供される明確なビューであり、それに満足していなかったため、ビューモデルのコードが複雑になりすぎて、最終的にリファクタリングが必要になる状況に陥ります。

于 2012-06-14T06:57:51.513 に答える