MVCとは
処理をモデル、ビュー、コントローラーに分ける設計モデルのこと。
分けることによって処理が整理されるので初見のプログラムでもわかりやすく、またモデルを担当する人(データベースエンジニアなど)、ビューを担当する人(Webデザイナーなど)、コントローラーを担当する人(プログラマーなど)に割り振ることができる。互いに仕様変更の影響を受けにくくなるメリットがある。
モデル(Model)とは
処理の中心部分を担う。
ビジネスロジックの記述、SQLコマンドの送信、必要なレコードの取得と管理を行う。
ビジネスロジックとはデータベース上のデータに対する処理手順のこと。
データベースとの対話に用いる言語をデータベース言語といい、SQL(Structured English Query Language)はその一つ。
SQLコマンドはデータベースにクエリ(問い合わせ)を行う。
またデータベースのテーブル上にあるレコードの取得と管理とも言える。
いずれにせよデータベースを扱う。
ビュー(View)とは
UIへの出力を扱う。表示されるデザインなのでユーザーが直接目にする部分。
モデルのデータを元にユーザーが見るのに適した形で出力する。
コントローラー(Controller)とは
UIからの入力をモデルに伝えたり、モデルのデータの出力が必要な場合にはビューに渡すなどプログラムを制御する。モデルとビューの橋渡しをする役目を担う。
モデル、ビュー、コントローラーは協力しながら処理を行う。
またUIにおける入力と出力は厳密には切り分けられないので、ビューとコントローラーは必ずしも分離できるとは限らない。