最近、MVP についての記事を読みました。これは、MVP モデルとは何かを紹介するものです。
しかし、MVC と MVP の違いは実際には明確ではありません。 読んでみると、「MVPはMVCの仕様を厳しくしただけだ」という気がします。
MVP のプレゼンターはどのような役割を果たしますか?
MVP についていくつかの情報を調(diào)べました。 MVCのControllerに比べて、PresenterにはModelとViewを完全に分離する機(jī)能が追加されていると言われています。しかし、実際には、私の概念 (日常のアプリケーションにおける) では、MVC のモデルとビューを分離することができます。通常の開発では、モデルで提供されたデータをコントローラーで処理し、それをページにレンダリングします。つまり、MVC は多くの場合、実際に V と M を分離できます。では、MVPモデルを提案する目的やポイントは何でしょうか?
ご意見をお聞かせいただければ幸いです、ありがとうございます!
認(rèn)證高級PHP講師
私は、悪い質(zhì)問はない、悪い答えがあるだけであると固く信じています。
最初はコマンドラインしかありませんでした。
ソフトウェアエンジニアの魂はシェルの上で動いています。
ゼロックスは「GUI が必要だ」と言っています...
Smalltalk に感謝します。 GUIのおかげです。
その後、インターネットの臺頭により、プログラマーはサーバー上でプログラムを?qū)g行するようになりました。この時點(diǎn)で、GUI は変わりました。すべてのインターフェイス (ビュー層) の現(xiàn)実はブラウザ (HTML) に置き換えられます。
この時點(diǎn)で、MVC が BS アーキテクチャに持ち込まれました。ありがとう太陽。ストラットさん、ありがとう。
その後、ブラウザはますます強(qiáng)力になり、多くのビジネスがブラウザで実行されるようになりました。
そこで、プログラマは MVC を View 層に導(dǎo)入しました。ただし、HTML+CSS+JS を表示レイヤーとして使用することは、従來のデスクトップ GUI とは大きく異なります。 そこで、js言語の特性を最大限に活かすためにMVPが登場しました。
アーキテクチャプレゼンテーションパターンMVP(SC)、MVP(PV)、PM、MVVM、MVCの比較
[翻訳] MVP(SC)、MVP(PV)、PM、MVVM、MVC パフォーマンス モデル アーキテクチャの比較
建築の進(jìn)化:
MVC モード:
ビュー <-> コントローラー <-> コントローラーはルーティングだけでなく、コントローラー內(nèi)の機(jī)能を柔軟に構(gòu)成することもできます。発達(dá)。開発中は MVP ほど直感的ではありませんが、焦點(diǎn)が絞られていない MVP の方が簡潔です。
MVP モード:
プレゼンター (コントローラー <-> イベント) <-> モデルを表示するため、開発者はルーティングとコントロールについて心配する必要がありません。メッセージのレイヤーを各メッセージによってトリガーされるイベントに配置し、イベント內(nèi)でビジネス操作を?qū)g行します。これにより、開発がよりシンプルかつ直感的になりますが、コントローラー層の操作の柔軟性が犠牲になります。
MVVM モード:
View <-> ViewModel <-> ViewModel は MVP のプレゼンター機(jī)能として機(jī)能するだけでなく、View をアクティブに更新することもできます。 View によってトリガーされる?yún)g一のバックグラウンド更新の代わりに。 MVVMはMVPの拡張版とも言えます