2019年8月23日スポンサーリンク皆様、こんにちは。MVCって、皆さん理解できますか?私は最初は全く意味がわかりませんでした...。なんとなく言ってることはわかるのですが、なぜそんなことをしなきゃいけないのか、そしてモデル、コントローラ、ビューそれぞれの分け方の判断基準が全然わかりませんでした。調べるといろんな図が出てくるじゃないですか。「MVC」でグーグル検索した結果でも、ポイントは結局「それぞれが何をしているのか」ということを抑えることです。いうことで、今回も例え話で理解しちゃいましょう!「塗り絵」の例え話で。スポンサーリンク塗り絵で理解するMVCモデル登場人物はこの3つです。塗り絵です!まず重要なのは、指示を出すことが出来るのは女の子だけ、ということです。おばあちゃんは女の子のしたがって色鉛筆を準備してくれます。女の子の目的は綺麗な塗り絵をお母さんに見せることです。女の子はどうやって塗り絵を完成させるのでしょうか。モデル先ほども述べたように、女の子は考えることができます。塗り絵をみて「赤色で塗ったらいいなあ」ということを計画します。おばあちゃんに色鉛筆を要求します。それに対しておばあちゃんは色鉛筆を渡してくれます。女の子はおばあちゃんからもらった赤鉛筆を使って、塗り絵をします。最終的に塗り絵はお母さんがみることになるのです。MVCに直してみよう!実は、たったこれだけでMVCの理解は完璧です!それぞれをちゃんとした言葉で当てはめてみましょう。お母さんはユーザです。それを受けた女の子(コントローラ)が必要に応じて色鉛筆(データ)をおばあちゃんから受け取ります。最後に、その色鉛筆を使ってViewのフレームワーク(塗り絵)を完成させて、お母さんに返してあげるわけです。やって例え話に落とし込むと理解しやすいですね!このように役割を分けるメリットは、問題発見のしやすさです。色鉛筆、つまりデータが渡されなかったら、モデルに問題があります。見た目が変だったら、塗り絵の元絵、ビューに問題があります。指示が変だったらコントローラのせいです。こんな風に、起こった問題に対して、どこを見ればいいのか、とてもわかりやすくなるんですね!こうやって例え話にすることで、理解が深まるということもあります。コメントをキャンセルメールアドレスが公開されることはありません。付いている欄は必須項目です次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。6プログラミング学習補助ツール開発ProgLearn本サイトについてプログラミング教育や、プログラミングの知識を中心に、"今日から使える"情報を配信しています。ProgLeanについて「プログラミング学習の情熱を絶やすことなくサポートする」ことを理念とし、プログラミング学習導入Webサービス「ProgLearn」を開発。正式ローンチに向けて鋭意準備中です。プログラミング総合情報サイトプログラーン。