-
ID:fHDmNd さんの質問

ウェブのクライアントmvcでイベントをアプリケーションレベルで最初に受け取るのはコントローラーですか?ビューですか?また、その理由は何ですか?

本職プログラマーの方々、教えて下さい!

※追記
ここでのイベントはユーザーイベントアクションに限らずイベント全般を指しています。

みんなの回答 1 件

ID:sI7ASb さんの回答

ビューです。
最初にというのよくわからないけど、ユーザー操作の最初のイベントという事であれば、プレゼンテーション層はビューしかないからです。

ID:fHDmNd

ウェブで適用されているmvcではなく、本来のmvcではイベントを最初に受け取るのはコントローラーですよね? なぜ、ウェブの場合はビューがイベントを最初に受け取るのですか?従来のGUI型ソフトウェアでもプレゼンテーション層はビューであることに変わりませんよね?

ID:sI7ASb

最初に受け取るというのが何を指してるのかわからないけど、ビューがイベントを受け取ってもビューは何もしないです。なので受け取ったイベントを最初に処理するという意味ではコントローラーです。
ビューとモデルを操作するのはコントローラーの役割です。

ID:sI7ASb

ただ、MVCというのはあまりにも多くの派生があるので、一概にはなんともいえない。

ID:fHDmNd

「最初に受け取る」というのはmvcの説明によく出てくる一般的な表現かと思います。意味合いとしてはiosの場合であればイベントキューからイベントループに取り出されたイベントを受け取ることがアプリケーションレベルにおける、最初にイベントを受け取るということになるかと思います。

ID:fHDmNd

受け取ったイベントを最初に処理するのはコントローラーとありますが、コントローラーはイベントの処理はしません。コントローラーはイベントを解釈し、処理はモデル、時にはビューに行わせます。

ID:sI7ASb

イベントを解釈という意味がわかりませんが、自分の中で答えがあるのに、何を聞きたいの?

ID:W0wPSb

答えるだけ無駄よ

ID:fHDmNd

質問したことで整理できました。ありがとうございました。

最終更新日:2016-03-28 (1,424 views)

関連するトピックス

ページ上部に戻る