質問: 最近JAVAでWEBアプリケーションプログラミングをしているのですがMVCを利用して組んでと言われたのでやっているのですが、イマイチMVCが理解できなく困っています。Viewは画面表示をするところで、Modelはデータ処理の場所で、ContorollerはViewからの要求を受けて適切なデータ処理をさせるためにModelに振り分ける事をさせるものだと思っているのですが、教えられたやり方だとそのCotrollerから別の第2のContorollerをインスタンスで作って第2のControllerからModelのメソッドを呼ぶっていうのは、正直なぜcontrollerからcontrollerを作らせるんだろうなって理解できなくて困っています。 上手く質問できていないですがよろしくお願いします
回答: 第二のというよりは、共通部と個別部の話なんじゃないのか。 MVCは、その3つがそれぞれ「1つのクラス」という意味ではないんだ。 普通、Servletは個々の画面それぞれに1つずつ作ることはない。何らかの機能単位で1つ、またはアプリ全体で1つ作る。フレームワーク、例えばStrutsでも、Servletは1つしかない。 そこから個々の機能のためのControllerを生成して呼び出すようになっている。 (シングルトンか、毎回生成するかは設計による)