MVCとは
- アプリケーションを実装するためのデザインパターン
- アプリケーションの役割を分ける
Model(データ処理)
データベースへのアクセス(登録・更新・削除・検索の実行)やデータの加工等々、
データにまつわる処理全般を請け負う。
View(ブラウザに表示される画面を作る)
Controllerから取得したデータをテンプレートを使ってブラウザに出力する。
Controller
画面からの入力値をModel層の処理機能へデータとして引き渡したり、
データベースから取得したデータを画面へ表示するためにView層へ渡したりと
ViewとModelの間を取り持つ。
WEB3層構造
- ブラウザ(クライアント)
- プレゼンテーション層(WEBサーバ)
- アプリケーション層(APサーバ)
- データベース層(DBサーバ)
クライアントからの処理をするサーバがプレゼンテーション層・アプリケーション層・データベース層の3層から構成されているため、WEB3層構造という。
クライアント
利用者からの入力を受け付け、結果を出力する。
プレゼンテーション層(WEBサーバ)
クライアントとシステムをやりとりをコントロールする。
例)
・Apache
・Nginx
アプリケーション層(APサーバ)
システムの中核を担う処理を実行する。
例)
・Puma
・Unicorn
データベース層(DBサーバ)
データベースとの連携
例)
・MySQL
・PostgreSQL