2010-12-01 11 views
0

MVCの古典的な記述のいくつかでは、モデルはオブザーバーパターンでビューを通知します。これはASP.NET MVCでは起こりませんので、Model、View、Controller間の基本的な関係の1つが欠落しているようです。ASP.NET MVC - ビューに通知するモデル?

これが該当しますか?もしそうなら、なぜですか?

答えて

2

ASP.NET MVCのビューはステートレスです。彼らは非常に短時間の間存在し、クライアントに送られます。

プロセスは、このような何かを行く:

  1. 要求はコントローラーにしています。

  2. コントローラはモデルを取得し、ビューをインスタンス化します(モデルを渡します)。

  3. ビューがレンダリングされ、マークアップがクライアントに返されてから廃棄されます。

したがって、クライアントに送信された後にビューが存在しなくなるため、モデルの変更について通知するものはありません。

+0

これは炎の戦争のような質問ですが、ASP.NET MVC本当にMVCですか? @ホッブズ - – Hobbes

+1

です。これはパターンのWeb適応です。あなたがそうでないと言うなら、私は他のWeb MVCフレームワークのどれもMVCではないと主張します。 –

0

オブザーバーパターンは不要です。ビューの元の定義では、それは言う:

ビューは、そのモデル(または モデルの一部)に接続し、データを取得している 必要 モデルからのプレゼンテーションのための質問をすることで。 Webアプリケーションのコンテキストで

http://heim.ifi.uio.no/~trygver/2007/MVC_Originals.pdf

、可能な唯一のビューは、ブラウザによってレンダリングマークアップ(HTML/XML)です。したがって、ASP.NET MVCのように、Viewコードには、ユーザーに情報を提供するためにアクセスできるModelインスタンスが渡されます。

関連する問題