学習を始めてしばらく経ったので復習をかねてアウトプットします。
MVCモデルとは
モデル(Model)の頭文字の「M」、ビュー(View)の頭文字の「V」、コントローラー(controller)の頭文字の(C)から「MVC」と呼びます。
それぞれの役割ごとにModel, View, Controllerに分割して作業を行います。
それぞれの持つ役割とは,
-
Model --> アプリの中で扱うデータを保持、操作、システムの設計や機能をどうするか決める
-
View --> HTMLなどの実際の見た目を司る部分。受け取ったデータを表示したり、入出力といった機能を処理する
-
Controller --> ユーザーからのリクエスト(入力)に基づき,ModelとViewを呼び出して処理し、その結果を返す
Rubyにおいて実装箇所がそれぞれ分かれているためそれぞれの役割と関連性を覚えることが重要です。
図2においてユーザーから入力があった時のMVCの流れを図にしました。
#MVCモデルでの処理の流れ
-
Model --> 受け取った命令を元に実際にデータの処理を行う
-
View --> 処理を行ったModelの状態を表示する
-
Controller --> ModelとViewに処理を分担する
例えば、ファーストフード店があったとします。
接客担当Vさん(View)がお客様(User)から受け取った注文を厨房に伝達する係員Cさん(Controller)に伝えます。そしてCさんが調理担当のMさんたち(Model)に注文がハンバーガーなのかポテトなのかを指示し、それぞれの担当のMさんが作った料理をVさん経由でお客様に渡すというのが処理の流れになります。
このような役割分担が各機能ごとに存在するので分業して作業をしやすく変更・修正があった場合の影響が出にくくなっています。
今回の記事は以上になります.
図解を作る技術が発展途上のため見ずらかったらすみません。
間違っている点や理解が不十分な点等あればご指摘いただけると助かります。.