MVCの古典的な記述のいくつかでは、モデルはオブザーバーパターンでビューを通知します。これはASP.NET MVCでは起こりませんので、Model、View、Controller間の基本的な関係の1つが欠落しているようです。ASP.NET MVC - ビューに通知するモデル?
これが該当しますか?もしそうなら、なぜですか?
MVCの古典的な記述のいくつかでは、モデルはオブザーバーパターンでビューを通知します。これはASP.NET MVCでは起こりませんので、Model、View、Controller間の基本的な関係の1つが欠落しているようです。ASP.NET MVC - ビューに通知するモデル?
これが該当しますか?もしそうなら、なぜですか?
ASP.NET MVCのビューはステートレスです。彼らは非常に短時間の間存在し、クライアントに送られます。
プロセスは、このような何かを行く:
要求はコントローラーにしています。
コントローラはモデルを取得し、ビューをインスタンス化します(モデルを渡します)。
ビューがレンダリングされ、マークアップがクライアントに返されてから廃棄されます。
したがって、クライアントに送信された後にビューが存在しなくなるため、モデルの変更について通知するものはありません。
オブザーバーパターンは不要です。ビューの元の定義では、それは言う:
ビューは、そのモデル(または モデルの一部)に接続し、データを取得している 必要 モデルからのプレゼンテーションのための質問をすることで。 Webアプリケーションのコンテキストで
、可能な唯一のビューは、ブラウザによってレンダリングマークアップ(HTML/XML)です。したがって、ASP.NET MVCのように、Viewコードには、ユーザーに情報を提供するためにアクセスできるModelインスタンスが渡されます。
これは炎の戦争のような質問ですが、ASP.NET MVC本当にMVCですか? @ホッブズ - – Hobbes
です。これはパターンのWeb適応です。あなたがそうでないと言うなら、私は他のWeb MVCフレームワークのどれもMVCではないと主張します。 –