【えむぶいしー】
MVC とは?
最終更新:
💡 アプリを「データ・画面・制御」の3つの役割に分ける設計図
アプリケーションをModel(データ・業務の処理)・View(表示)・Controller(入力への対応)の役割に分ける設計パターン。責務を分離し、変更やテストを考えやすくする。
📌 このページのポイント
- Modelはデータや業務のルール・処理を担当する
- Viewは表示する内容や形式を組み立てる
- Controllerは入力やリクエストに対応し、ModelやViewを使う
- 役割間のつなぎ方は環境によって異なり、図はWebでの一例
MVCって何で3つに分けるの?
表示、業務のルール、入力への対応が混ざりすぎないようにするためだよ。責務を分けると変更箇所やテスト対象を考えやすくなる。ただし画面に新しいデータを出す変更なら複数の役割を直すこともあり、必ず一か所で済むわけではないんだ
Modelはデータベースのこと?
図の流れはどう読むの?
Railsで商品一覧のページを表示する例だよ。Controllerがリクエストに対応し、Modelから商品のデータを得てViewへ渡す。ViewがHTMLを組み立て、それを応答として返す。図はこのやり取りを簡略化しているんだ
どのMVCでもこの矢印になるの?
ReactなどもMVCを使うの?
まとめ:ざっくりこれだけ覚えればOK!
「MVC」って出てきたら「データ・表示・入力への対応を役割で分ける設計」と思えばだいたいOK!
📖 おまけ:英語の意味
「Model-View-Controller」 = モデル・ビュー・コントローラー
💬 3つの役割の頭文字。Modelはアプリのデータや業務の処理、Viewは表示、Controllerは入力への対応、と捉えると覚えやすいよ