MVCモデルとは
- 「データモデル(Model)」、「画面(View)」、「ModelとViewの操作(Controller)」の3つのプログラムに分けて開発を進めていくプログラム構造のこと。
それぞれの役割
Model(データモデル)
-
データベースから情報を取り出したり、反対にデータベースに情報を格納したりする
-
実際のデータ処理を行うところ
-
データベース
- 特定の条件にあったデータを使いやすいように整理したデータの集合体
- 複数で共有、利用すること、と検索、加工することを目的として作られた。
View(画面)
- ページの見た目を作るHTMLファイル
- モデルの状態を表示する所
Controller(ModelとViewの操作)
- ユーザーの入力に基づき、ModelとViewを制御する
##処理の基本的な流れ
- ブラウザからのリクエストをサーバーが受け取り、Routesに送る
- RoutesがURLとHTTPメソッドにマッチするコントローラーに処理を振り分ける
- コントローラーのアクション(処理)の中にモデルに関係する記述があれば、モデルに命令を出す
- モデルはデータベースにデータ操作の命令を出す
- データベースは該当するデータをモデルに返す
- モデルはデータベースから受け取ったデータをコントローラーに返す
- コントローラーは得られた結果をViewに渡す
- ViewはHTMLを作成し、ブラウザに表示する
メリット
- 3つの役割を分担することで開発も効率的に分業できる。
- それぞれのプログラムの独立性が高くなり、仕様変更に柔軟な対応ができる。