MVC
rails も MVC です。
ところで MVC ってなんだったかな、ということで MVC について簡単にまとめていきます。
MVC とは
MVC とはアーキテクチャの一種です。
つまり、設計するときの考え方のようなものです。
特に、UIをもつ場合に使われます。 (View が UI なので)
そして、Model View Controller のそれぞれの頭文字をとって MVC です。
ちなみに、はてなブログだと 「MVC」 に下線が引かれ、クリックすれば MVC の意味が出てきます。
Model View Control。オブジェクト指向プログラミング言語の元祖のひとつ「Smalltalk」にも使用されていたアプリケーション・アーキテクチャ。アプリケーションをModel(ロジック)、View(プレゼンテーション)、Controller(通信、制御)の3つの部分に分割して、それぞれを独立して開発していくというもの。
Model View Controller
MVC の M は Model です。
Modelはデータの処理を担当します。
Web の場合だと、データベースとのやりとり (SQLクエリ) を行います。
MVC の V は View です。
View は UI を担当します。
Web の場合だと、レスポンスとして HTML, CSS, JS ファイルを返したりします。
MVC の C は Controller です。
Controller はユーザの入力の処理を担当します。
Web の場合だと、HTTPリクエストの処理を行います。
また、Model や View の制御も Controller が行います。
MVC での Web ページ表示までの流れ
- ユーザーからのリクエスト
- Controller がリクエストを処理
- 場合に応じて、Model に処理要求
- Model は DB にアクセスし、Controller へデータを返す
- Controller は View にデータを渡して、出力を指示する
- View はユーザーに HTML 等のファイルを出力
MVC のメリット
MVC のメリットは Model View Controller に分離できるということです。
分離することによって、
- 分業できる
- それぞれの依存性を減らすことができる
- 共通しているものや似ているものを再利用しやすくなる
- 保守性が高まる
といった、メリットがあります。
終わり