2

理論が進む限り、Asp.net MVC フレームワークはMVPソフトウェア パターンとしてより適切に記述できるように思われます...なぜでしょうか?

私には、Asp.net MVC は、コントローラー アクションを呼び出す機能ビュー (実行中のスクリプト) を持つフレームワークであると考えているからです。したがって、ビューはマスターのようです。

4

1 に答える 1

2

2 つの明確な違いがあります (ソースから取得)。

パッシブ ビュー:

ビューは可能な限り馬鹿げており、ロジックはほとんど含まれていません。プレゼンターは、ビューとモデルと対話する仲介者です。ビューとモデルは互いに完全にシールドされています。モデルはイベントを発生させる場合がありますが、プレゼンターはビューを更新するためにイベントをサブスクライブします。パッシブ ビューでは、直接のデータ バインディングはありません。ビューは、プレゼンターがデータを設定するために使用するセッター プロパティを公開します。すべての状態は、ビューではなくプレゼンターで管理されます。

長所: 最大のテスト容易性表面。ビューとモデルの明確な分離

短所:すべてのデータバインディングを自分で行っているため、より多くの作業(たとえば、すべてのセッタープロパティ)。

監督管理者:

プレゼンターは、ユーザーのジェスチャーを処理します。ビューは、データ バインディングを介して直接モデルにバインドします。この場合、モデルをビューに渡してバインドできるようにするのは、プレゼンターの仕事です。プレゼンターには、ボタンを押す、ナビゲーションなどのジェスチャのロジックも含まれます。

長所: データバインディングを活用することで、コードの量が削減されます。

短所: (データ バインディングのため) テスト可能な面が少なく、モデルと直接やり取りするため、ビューのカプセル化が少なくなります。

この質問を参照してください: MVP と MVC とは何ですか? また、その違いは何ですか?

于 2012-04-04T07:28:22.930 に答える