過去問解きまくり研究所 ホーム

平成23年度 特別 午前 問15

ソフトウェア

MVCに関する問題

モデル層,ビュー層及びコントローラ層の三つの論理的な層でモデル化された Web システムの説明として,適切なものはどれか。

答えと解説を見る

✓ これが正解イ業務処理はモデル層が行い,処理結果はビュー層に渡されて画面表示が行われる。

解説

業務処理はモデル層が担い、結果をビュー層が表示します。

三つの層の役割を一語ずつに縮めておくと、記述の当てはめが速くなります。モデル層は業務処理、ビュー層は表示、コントローラ層は交通整理です。MVCと呼ばれるこの分け方で一往復の流れを書くと、まず利用者の要求がコントローラ層に届きます。コントローラ層はどの処理を呼ぶかを決めて渡す係で、自分では業務処理をしません。受け取ったモデル層が業務処理を行い、必要ならデータベースにも触れて結果を返します。その結果がビュー層へ渡り、画面が組み立てられて利用者のもとへ戻ります。正解の記述は、この後半の二つの段をそのまま述べたものです。判定の軸は、業務処理をどの層が担うのかという一点で足ります。四つの記述のうち三つは、その一点をずらして作られているからです。この分け方を採る理由も、そこにあります。画面の見せ方を作り替えたいときに業務処理へ手を入れずに済み、逆に業務の規則が変わったときに画面を組み直さずに済みます。もし業務処理をコントローラ層に書いてしまうと、画面ごとに同じ処理が散らばって、層を分けた意味が薄れます。

ほかの選択肢はなぜ違うのか

出典:平成23年度 特別 応用情報技術者試験 午前 問15

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)