1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MVCモデルについて

Last updated at Posted at 2021-01-21

学習を始めてしばらく経ったので復習をかねてアウトプットします。

MVCモデルとは

モデル(Model)の頭文字の「M」、ビュー(View)の頭文字の「V」、コントローラー(controller)の頭文字の(C)から「MVC」と呼びます。
それぞれの役割ごとにModel, View, Controllerに分割して作業を行います。
それぞれの持つ役割とは,

  • Model --> アプリの中で扱うデータを保持、操作、システムの設計や機能をどうするか決める

  • View --> HTMLなどの実際の見た目を司る部分。受け取ったデータを表示したり、入出力といった機能を処理する

  • Controller --> ユーザーからのリクエスト(入力)に基づき,ModelとViewを呼び出して処理し、その結果を返す

概念図としては次の図1のようになります。(大枠)
図1
MVC.png

Rubyにおいて実装箇所がそれぞれ分かれているためそれぞれの役割と関連性を覚えることが重要です。

図2においてユーザーから入力があった時のMVCの流れを図にしました。

#MVCモデルでの処理の流れ

図2
MVCの処理の流れ.png

  • Model --> 受け取った命令を元に実際にデータの処理を行う

  • View --> 処理を行ったModelの状態を表示する

  • Controller --> ModelとViewに処理を分担する

例えば、ファーストフード店があったとします。
接客担当Vさん(View)がお客様(User)から受け取った注文を厨房に伝達する係員Cさん(Controller)に伝えます。そしてCさんが調理担当のMさんたち(Model)に注文がハンバーガーなのかポテトなのかを指示し、それぞれの担当のMさんが作った料理をVさん経由でお客様に渡すというのが処理の流れになります。

このような役割分担が各機能ごとに存在するので分業して作業をしやすく変更・修正があった場合の影響が出にくくなっています。

今回の記事は以上になります.

図解を作る技術が発展途上のため見ずらかったらすみません。
間違っている点や理解が不十分な点等あればご指摘いただけると助かります。.

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?