2017-09-12 10 views
1

私は現在、 "java ee 7 the big picture"という本を読んで、Java eeを学んでいます。java ee MVCパターン、モデルとビューは直接通信します

この本では、著者はjava eeのMVCパターンを説明する画像を持っていました。

enter image description here

あなたが見ることができるように、図では、モデルとビューは、互いに直接通信しています。

私はMVC(私は最初にMVCパターンをiOS開発から学んだ)は、モデルとビューが決して互いに直接通信するべきではないことを理解しています。モデルとビューとの間のすべての通信は、コントローラを介して行われなければならない(すなわち、コントローラはモデルとビューの間のインタープリタとして動作する)。

この図に欠陥がありますか?それとも、それは正しいですか?私はJavaのeeの方法でMVCパターンの私の理解を再調整する必要がありますか?

ありがとうございます!

+2

あなたは良い方法だと思います。ビューはモデルと直接対話しません。私が理解しているように、モデルがデータをビューに送信することをダイアグラムが説明しようとしていますが、ビューはコントローラのヘルプなしでモデルに到達することはできません。 – DMC19

答えて

2

この図は役に立ちません。 javaEEでは、コントローラーはユーザーが記入したフォームを受け入れ、検証した後、サービスレイヤーにデータを渡して更新を行い、新しい更新オブジェクト(モデル)をフェッチするコントローラーにリダイレクトし、それをリクエスト属性としてのリクエスト、htmlを生成するテンプレートへのフォワード。このビューは、要求属性でモデルを探すことを知っている何らかの種類のテンプレートです。したがって、モデルはビューに何も知らないことがあります。典型的には、ビューはモデルがデータコンテナであり、それ以上のものではありません。

関連する問題