MVC

railsMVC です。
ところで 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 ページ表示までの流れ

f:id:utouto97:20210606205824p:plain

  1. ユーザーからのリクエス
  2. Controller がリクエストを処理
  3. 場合に応じて、Model に処理要求
  4. Model は DB にアクセスし、Controller へデータを返す
  5. Controller は View にデータを渡して、出力を指示する
  6. View はユーザーに HTML 等のファイルを出力

MVC のメリット

MVC のメリットは Model View Controller に分離できるということです。

分離することによって、

  • 分業できる
  • それぞれの依存性を減らすことができる
  • 共通しているものや似ているものを再利用しやすくなる
  • 保守性が高まる

といった、メリットがあります。

終わり