MVCパターンでは、モデルは、相互作用/ビューを変更することができますか?

wp42:

MVCパターンの構成要素の相互作用は、ウィキペディア上で、このように記載されています。

モデルは、アプリケーションのデータを管理する責任があります。これは、コントローラからのユーザ入力を受け取ります。ビューには、特定の形式でモデルのプレゼンテーションを意味しています。コントローラは、データ・モデル・オブジェクトのユーザ入力とを行う相互作用に応答します。コントローラは、必要に応じて、入力を受け取り、それを検証し、モデルへの入力を渡します。

私は、ビューがモデルと対話することはできないことを理解しています。しかし、私はネット上で見つけ図のほとんどに、MVCは次のように表されます。

ここでは、画像の説明を入力します。

私たちは、モデルがいることを確認できないビューと相互作用して、それを変更することができ、そしてそれは意味がありません。ていないモデルが更新コントローラー更新し、ビューを

私は何をしないのですか?

jaco0646:

MVCアーキテクチャは、1970年代に作成されました。明らかに、その現時点ではインターネットがありませんでした。元のバージョンでは、モデルは、直接を通じてビューを更新し、データバインディングとも呼ばれ、パブリッシュ/サブスクライブとしても知られている、Observerパターン

四つのデザインパターンの本のギャングは詳細にこのMVCアーキテクチャを説明しています。その本からの引用のカップルは別の答えであるここに

MVCアーキテクチャは、非常に人気があった、とインターネットを一緒に来たとき、開発者はそれを引き続き使用したいです。それは、クライアント/サーバアプリケーションにうまく適合しませんでした。このように、「WebMVC」あなたが最も一般的に、今日見たバージョンが生まれました。WebMVCは、典型的には、オリジナルではなかった階層化アーキテクチャとして実装されています。

二つのアーキテクチャが混同されているとき、混乱が続いて起こります。多くの場合、両方単にMVCと呼ばれています。さらに悪いことに、このようMVPとMVVMなどの関連アーキテクチャは、MVC呼び出すことができます。

個人的に、私は多少JavaとJavaScriptとの関係のようなデスクトップMVCとWeb MVCとの間の関係を見つけます。後者は大幅に異なる何かを実装するために、かつての有名な名前に便乗しました。

関連:それは、ビューがモデルと相互作用しないときMVCですか?

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=224021&siteId=1