ちょっと身の回りでよく聞くようになった表現なので、確認の意味で調べてみました。
MVCモデルに、モデル1, モデル2といった表現はありません。モデル1、モデル2という表現をするのは、「JSP〜」です。つまり、
JSP Model 1 : リクエストURIは *.jspで、リクエストを受け取ったJSPがビジネスロジックを実行してそれを表示するモデル。
JSP Model 1.5 : リクエストURIは *.jspで、JSPはuseBeanタグ経由でビジネスロジックを呼び出し、結果を受け取ってそれを表示するモデル。
JSP Model 2 : リクエストURIは *.jsp ではない。Strutsなら *.doのようなURIであり、フロントコンポーネントがリクエストを受け取ってビジネスロジックを呼び出して、別のビューコンポーネントに結果表示を委譲するモデル。
一言でいえば、Web層に MVCモデルを適用したものが、JSP Model 2 である、ということですね。
See Also: JavaWorld 1999/12
↑といった舌の根も乾かないうちから、muimyさんの日記のコメントをハッケン。「〜ありません」というのは言い過ぎかも。そして混乱。だれかの誤解が広まってしまっているヨカンも。
「GUIで使用されているMVCに対して、Web層を対象としているMVCをMVCモデル2と呼ぶ」「具体的には、MVCモデル2では、モデルの更新がビューに通知されないため、ビューは積極的にモデルを参照する必要がある」というハナシが一部でありますけど、根拠資料がない。ううむ。
「MVC モデル2」という表現には根拠資料が見つからず、話し手と受け手で合意形成できる保証がない。したがって用いるべきではない。
もちろん、根拠資料があれば話は別です。オレが見つけられないだけかもしれない。
muimyさんが、さらに3日後に整理されていますね。
MVCパターンは別にGUIのためにあるわけじゃないと思いますが……
MVCパターンがGUIのためにあるように読めました? そんな意図はないのですが。うーむ誤解を招いたらしい。
http://www.brainopolis.com/jsp/mvc/KDuffey_MVC.html
によれば、JSP Model 1はJSPで何でもやっちゃう、JSP Model 1.5がJavaBeansを呼び出すモデルでしょうか。
モデル1を修正して、モデル1.5を追加しました。ツッコミThanks!
うーん、そうか。誤読ですね。すみません