MVCモデル

記事作成の経緯

Railsポートフォリオを作成している中で、そもそもMVCモデルを理解してないため、開発するときやエラーがあった際にどこから手をつければいいのか分からないことが多い。

そのため、そもそもMVCモデルが何なのかを理解し、どういった構成でプログラムが作られているのか理解するため、自分なりにまとめてみる。

MVCモデルとは

プログラムをModel,View,Controllerの3つの役割に分けた構成のこと
それぞれの役割は

  • Model
    プログラムで扱われるデータを管理する

  • View
    画面の表示、画面からの入力を受け付ける

  • Controller
    ModelとViewを制御する

具体例

ECサイトで商品をカゴに入れる処理をした場合の処理の流れ

  1. View
    商品をカゴに入れる入力を受け付ける

  2. Controller
    Viewの操作を受け取り、Modelに商品をカゴに入れるよう指示する

  3. Model
    カゴに商品が追加される

MVCモデルによる利点

  • プログラムの構成を把握しやすくなる
    特定のモデルに基づき開発をすることで、プログラムを初めて見る人がどこに何の役割をもつプログラムがあるか分かりやすくなる

  • 分業しやすい
    デザイナーはView,プログラマーはControllerなど担当者に合った機能を任せることが出来る

  • 仕様変更しやすい
    それぞれの機能が独立しているため、仕様変更の際に特定の箇所だけを修正するだけでいい

所感

いざ自分の言葉で説明すると自分の思っていたよりも理解していないことが分かった。
ただまとめると考えが整理されるため、理解が甘いことはまとめてみることを習慣にする。
また、ただその技術のことを理解するのではなく、その技術がある理由まで考えると納得して使うことが出来る。

参考