0
0

More than 1 year has passed since last update.

【初学者】MVCモデルについてまとめてみた

Last updated at Posted at 2022-10-11

はじめに

自分の備忘録用として記事にしてみました。
初学者の知識整理の一助になれば幸いです。

MVCモデルとは

「Webフレームワークで一般的に取り入れられているアプリケーション設定を整理するための概念の一つ」
これだけでは、整理?なんぞや?となると思います。
MVCとあるように、Webシステムの持つ機能を役割ごとに大きく3つに分けて開発を進めていく方法のことです。
3つの役割とは、
・Model(モデル)
・View(ビュー)
・Controller(コントローラー)
です。
これらを合わせて、MVCモデルと言います。

MVCのそれぞれの役割とは

Model

データを扱う部分です。データベースにアクセスをして、必要なデータを取り出します。

View

画面表示のための部分です。レイアウトや操作性に関わる部分です。

Controller

ModelとViewに指示を出します。
プログラムの制御を行う部分で、クライアントからの要求に対して、必要に応じてModelやViewを呼び出して処理を行い、結果となるWebページを用意してブラウザに返信をします。

MVCモデルを使うメリット

  1. アプリケーション開発を効率的に行える
    役割や機能別でコードを分けることにより、開発するときも、変更するときも、保守するときも、「このコードはどこの関連か?」と迷うことがなくなります。
    また、MVCそれぞれを分業して開発することができるので、それぞれに対してアプローチが可能となります。

  2. 保守性の確保、新しい機能の追加を簡単にできる
    各モジュールで役割分担していることにより、保守性が上がります。
    Viewにバグが発生したとしても修正はViewだけに止まり、ModelやControllerにはほとんど影響がありません。
    影響を少ない範囲で留めることができます。
    また、独立性が高いため、コードの追加が容易にできます。

MVCモデルの概略図

Group 30.jpg

①クライアントからのリクエストをControllerが受け取ります。
②Modelにデータを取り出すように指示を出します。
③データベースからデータを取り出します。
④データベースから取り出したデータをControllerに送信します。
⑤受け取ったデータをViewに渡します。
⑥データを受け取ったViewが、HTMLなどを生成します。
⑦クライアントの画面に返します。

Modelがデータを扱い、Viewが表示画面を作成します。
それを制御しているのがControllerとなります。

さいごに

ここまで読んでくださりありがとうございました。
記事を書くことで、MVCモデルについて少しは理解できたかなと思います。

ご指摘事項がありましたら、ご連絡ください。

参考サイト

https://www.geekly.co.jp/column/cat-technology/1911_040/
https://www.rstone-jp.com/column/93102/
https://qiita.com/riku-shiru/items/2bed096e106e72e0b58a

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0