15

私が収集できることから、最初の2つはそれほど違いはないようです。それがコントローラーと呼ばれるかプレゼンターと呼ばれるかにかかわらず、それはまだ同じ仲介機能を持っているようです。

MVVMは、コントローラーがXAMLバインディングなど、フレームワークの一部であるように見えるという点で少し異なります。

違いの「クリフズノーツ」の説明は何ですか?

4

1 に答える 1

15

違いは、モデルレイヤーからのデータがビューインスタンスにどのように表示されるかという点です。

  • 従来のMVC(およびModel2 MVC)では、ビューはアクティブな構造です。モデル層に情報を要求します。コントローラは、モデルレイヤーとビューの状態のみを変更します。
  • MVPでは、ビューはパッシブです。代わりに、プレゼンターはモデルレイヤーに情報を要求し、それにビューを渡します。MVPパターンについては、こちらで詳しく読むことができます。
  • MVVMのはMVPに似ていますが、ビューモデルは情報をビューに渡す前に情報を操作する必要があります。

MVPとMVVMの違いは、開発プロセスにあります。既知のモデル層のプレゼンテーション層を作成するときは、MVPパターンを使用します。

ただし、既存の(または何らかの理由で変更できない)ユーザーインターフェイスと既存の(または変更できない)モデルレイヤーがある場合は、MVVMを使用する必要があります。そして、それらを一緒に機能させる必要があります。そこで、viewmodelが登場します。

于 2012-08-09T07:18:15.490 に答える