MVCってなあに?
Model / View / Controller パターン
RailsはMVCパターンと言われるアーキテクチャを採用しています。
上記に書いてあるように、Model(ビジネスロジック)View(ユーザーインターフェイス)Controller(モデルとビューのやりとりを制御)という3つに役割を大きく分担させる設計モデルのことです。
-
Model
汎用的に利用できるビジネスロジックやデータの操作などを担当。
* ビジネスロジックとは、データベースから取得した値を加工するメソッドや、レコード検索の条件が書かれたメソッド、データの保存前に加工するメソッドなどのことを指します。
-
View
最終的な出力(クライアント側に表示される見た目の部分)の描画を担当。
HTMLやJSONなど。
-
Controller
クライアントから受けたリクエストデータに基づき、ビジネスロジックの呼び出しや出力への振り分けを担当。
《 メリット 》
✔︎ 構成が分かれていることで、プログラマーとデザイナーで並行して作業しやすい。
✔︎ 見た目の部分とロジック部分それぞれで修正が行えるかつ相互に影響しないので保守性・可読性が高い。
✔︎ 機能単位のテストを独立して実施でき、テストを自動化しやすい。
以上の点でRailsのみならず、開発ではMVCパターンを前提としたものが一般的です。
参考書籍
- Ruby on Rails 5アプリケーションプログラミング