(プログラミング) MVCモデルとは

mvc-model

MVCモデルとは

mvc-model

結論から言うと、「プログラミングのフレームワークみたいなもの」

みたいなもの、なのであくまでも概念的なもの。
プログラミングのフレームワーク的概念

ソースコードを下記の3つに分けるからMVCモデルと呼ばれている。

MVCモデルの3つの役割
  • View(ビュー)
  • Model(ロジック)
  • Controller(コントローラ)

 

View(ビュー)

ユーザーに見える部分。
webページにおけるhtmlの表示結果など、

クライアントが見て触るの部分のプログラムなどは、viewに分類される

 

Model(ロジック)

データ処理を担当するプログラム群のことを指す
具体的には、DBなどのデータを処理、加工することを指すことが多い

DBそのものの値を更新したり削除したり、または取得した結果をプログラム側で使いやすいように加工して、コントローラに返したりと言った役割が多い

 

Controller (コントローラ)

ViewとModelをつなぐパイプ役のプログラム群

例えば、

  1. viewでクライアントから入力値を受け取る
  2. 受け取った入力値をmodelのプログラムに渡す
  3. modelで処理されて帰ってきた値を元に、次のviewの表示内容を作成する
  4. 結果(表示内容)をviewに返す

 

と言った一連のviewとmodelの仲介をするプログラムがcontrollerに該当する

もちろん必ずmodelとやりとりしなければ良いという訳ではない。

 

MVCモデルの例

 

限定グッズをネットで購入するシチュエーションを元に説明する

 

View(ビュー)

クライアントが注文画面で、
限定グッズを3個注文したとする

 

Controller(コントローラ)

次に来るのがコントローラ
コントローラは、クライアントの入力値である「限定グッズ」「3個」という入力値を受け取る

そして、商品データを管理しているDBにデータの処理をするため、
modelのプログラムに「限定グッズ」「3個」という入力値を渡す

 

Model(ロジック)

コントローラから渡された「限定グッズ」「3個」という情報を元に、
商品情報を管理しているDBからデータを抽出し、コントローラに結果を返す。

 

例えば、限定グッズの値段を商品マスタから抽出しそれが3個なので、1500円
→1500円という値をコントローラに返す

 

Controller(コントローラ)

1500円という値をmodelより受け取る

結果をクライアントの、結果をview(購入内容確認画面)に渡す

 

View(ビュー)

購入内容確認画面ソースコードの値段の部分に、1500円という値を埋め込んで、クライアントに表示される

 

上記は簡単な例だが、MVCの関係性がなんとなくわかるはず

mvc-model

MVCモデルのメリット

 

mvcモデルのそれぞれは、役割が概ね明確に区切られているため、開発側としては、下記のようなメリットがある。

MVCモデルのメリット
  • 分業しやすく、効率的に開発できる
  • プログラムの管理がしやすい
  • 柔軟に変更に対応しやすい

 

ということでまとめ

MVCは「プログラミングのフレームワークみたいなもの」

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。