ホームページ  >  に質問  >  本文

MVC パターンと MVP パターンについて混乱している

最近、MVP についての記事を読みました。これは、MVP モデルとは何かを紹介するものです。

しかし、MVC と MVP の違いは実際には明確ではありません。 読んでみると、「MVPはMVCの仕様を厳しくしただけだ」という気がします。

MVP のプレゼンターはどのような役割を果たしますか?

MVP についていくつかの情報を調べました。 MVCのControllerに比べて、PresenterにはModelとViewを完全に分離する機能が追加されていると言われています。しかし、実際には、私の概念 (日常のアプリケーションにおける) では、MVC のモデルとビューを分離することができます。通常の開発では、モデルで提供されたデータをコントローラーで処理し、それをページにレンダリングします。つまり、MVC は多くの場合、実際に V と M を分離できます。では、MVPモデルを提案する目的やポイントは何でしょうか?

ご意見をお聞かせいただければ幸いです、ありがとうございます!

PHP中文网PHP中文网2713日前496

全員に返信(3)返信します

  • 世界只因有你

    世界只因有你2017-05-16 17:08:38

    私は、悪い質問はない、悪い答えがあるだけであると固く信じています。


    最初はコマンドラインしかありませんでした。

    ソフトウェアエンジニアの魂はシェルの上で動いています。

    ゼロックスは「GUI が必要だ」と言っています...

    1.デスクトップソフトウェア用のMVC

    Smalltalk に感謝します。 GUIのおかげです。

    2. B/S アーキテクチャーを使用した MVC

    その後、インターネットの台頭により、プログラマーはサーバー上でプログラムを実行するようになりました。この時点で、GUI は変わりました。すべてのインターフェイス (ビュー層) の現実はブラウザ (HTML) に置き換えられます。

    この時点で、MVC が BS アーキテクチャに持ち込まれました。ありがとう太陽。ストラットさん、ありがとう。

    3. フロントエンド MVP

    その後、ブラウザはますます強力になり、多くのビジネスがブラウザで実行されるようになりました。

    そこで、プログラマは MVC を View 層に導入しました。ただし、HTML+CSS+JS を表示レイヤーとして使用することは、従来のデスクトップ GUI とは大きく異なります。 そこで、js言語の特性を最大限に活かすためにMVPが登場しました。

    返事
    0
  • 为情所困

    为情所困2017-05-16 17:08:38

    アーキテクチャプレゼンテーションパターンMVP(SC)、MVP(PV)、PM、MVVM、MVCの比較

    [翻訳] MVP(SC)、MVP(PV)、PM、MVVM、MVC パフォーマンス モデル アーキテクチャの比較

    返事
    0
  • 黄舟

    黄舟2017-05-16 17:08:38

    建築の進化:

    MVC モード:
    ビュー <-> コントローラー <-> コントローラーはルーティングだけでなく、コントローラー内の機能を柔軟に構成することもできます。発達。開発中は MVP ほど直感的ではありませんが、焦点が絞られていない MVP の方が簡潔です。

    MVP モード:
    プレゼンター (コントローラー <-> イベント) <-> モデルを表示するため、開発者はルーティングとコントロールについて心配する必要がありません。メッセージのレイヤーを各メッセージによってトリガーされるイベントに配置し、イベント内でビジネス操作を実行します。これにより、開発がよりシンプルかつ直感的になりますが、コントローラー層の操作の柔軟性が犠牲になります。

    MVVM モード:
    View <-> ViewModel <-> ViewModel は MVP のプレゼンター機能として機能するだけでなく、View をアクティブに更新することもできます。 View によってトリガーされる単一のバックグラウンド更新の代わりに。 MVVMはMVPの拡張版とも言えます

    返事
    0
  • キャンセル返事