Help us understand the problem. What is going on with this article?

MVCという概念をさくっと理解するためのまとめ。

More than 1 year has passed since last update.

概要

MVCについて改めて概念を理解しようと思い、さくっと読めるように短くまとめてみました。

MVCとは?

MVCはそれぞれ以下の言葉の頭文字をとったものです。

  • Model(モデル)
  • View(ビュー)
  • Controller(コントローラー)

それぞれについて見ていきましょう。

Model(モデル)

モデルはアプリケーションの中でビジネスロジックを担当する部分です。以下の処理を担当します。

  • データの検索
  • データの変換
  • データの検証
  • データの関連

コントローラーから受け取った処理に基づいて、必要なデータをDBで参照します。
DBから取得したデータを一時的に預かりコントローラーへ渡しますが、DBそのものではありません。

View(ビュー)

ビューはコントローラーから渡された(モデリングされた)データをHTMLなどで整形した状態を表現します。
またユーザーの入力を取得する部分でもあります。
ユーザーが実際に目にする部分だと思えば理解しやすいと思います。以下の流れです。

  • リクエスト(ユーザーの入力)を取得する
  • リクエストをコントローラーへ渡す
  • コントローラーから受け取ったデータをHTMLなどで出力する

Controller(コントローラー)

コントローラーは、ビューからのリクエスト(ユーザーの入力)を受け取り、モデルへのメッセージに変換します。
レスポンスとして処理後の画面をビューに返します。
またユーザーの処理に基づいてモデルをコントロールする部分でもあります。以下のような流れです。

  • ビューからリクエストを受け取る
  • 受け取ったリクエストに基づいて該当するアクションを実行しモデルに伝える
  • モデリングされたデータをモデルから受け取り、レスポンスとしてビューへ返す

どうしてMVC?

MVCを考慮する理由は、 開発の管理のしやすさ にあるのだと思います。
MVCを考慮して開発する場合、各要素が比較的はっきりと分かれるので、プログラムが見やすい状態になります。
また作業分担もわかりやすくなり 開発効率の向上を見込める というのがメリットです。

  • 開発管理がしやすい
  • 開発効率の向上を見込める

あとがき

さくっとMVCについてまとめてみましたが、開発手法にはいろいろあってそれぞれが独自の良さを持っているものだと思います。
案件の数だけ開発手法があり、流行り廃りがつきものであることもまた事実です。
社内でMVC開発を行う際は、こういったイメージをもって取り組みたいと思います。

参考にさせて頂きました

https://www.slideshare.net/MugeSo/mvc-14469802
http://at-grandpa.hatenablog.jp/entry/2013/11/01/072636
https://book.cakephp.org/2.0/ja/cakephp-overview/understanding-model-view-controller.html

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした