はじめに
転職活動をする中で、MVCそれぞれの役割やhttp通信についてなど、基礎的な技術知識について問われるシーンがあったので、改めて基本に立ち返って自己学習しようと思った。
MVCについて
「MVCモデル」とは
システム開発の方針の一つ。
「Model」「View」「Controller」の3つに役割を分担させコードを管理する。
なぜ分けるのか?
-
保守性の向上
コードを役割ごとに分けることで、システムにバグが起こった時、バグ発生箇所を特定しやすい。
また、例えばViewでバグがあったとして、ControllerやModelに影響が少なく、影響範囲を小規模で止めることができる。 -
生産性の向上
コードが役割ごとに独立しているため、管理がしやすい。
分担作業がしやすい。
Modelとは
表示や入力に関連しない処理
DBとのやりとりを担当。
データの登録・更新・削除の処理を担う。
処理したデータはControllerに送る。
Viewとは
表示や入力に関する処理
HTMLなど、ユーザーが実際目にするページの表示を担う。
ページ遷移のリクエストデータをControllerに送ったり、
Controllerからレスポンスを受け取り、画面に表示したりする。
Controllerとは
ModelとViewの橋渡し役
ModelとViewの制御、仲介役を担う。
Viewから受け取ったデータをModelに渡し、Modelで処理されたデータをViewに渡すなど
参考にさせていただいた記事