1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MVCモデルの概念理解

Last updated at Posted at 2021-10-16

1. MVCモデル

ソフトウェアの設計モデルの一つ。
機能を「Model」(モデル)、「View」(ビュー)、「Controller」(コントローラ)の三つの役割に分離して実装する。
役割ごとに意味のある単位で機能を分割し実装するため、管理しやすい。

1. Model

システムの主処理を担う部分。
データベースとのデータのやり取りやデータの追加・削除・変更などを実施する。

2. View

データを表示したり、入出力するデータの前処理や連携を行う部分。
他の二要素から指示を受け、利用者(クライアント)への表示・出力を行う。

3. Controller

利用者(クライアント)の入力に基づきModelとViewを制御する部分。
橋渡し役。

2. 大まかな処理の流れ

image.png
①クライアントがViewへリクエストを送る
②Viewで受け取った値をControllerへ渡す
③Controllerは受け取った値をもとにModelに処理指示を出す
④Modelはデータベースを参照しデータを処理する
⑤Modelは処理結果をViewに渡す
⑥Viewは処理結果をクライアントに表示する

システムによっては「Controllerがクライアントからリクエストを受け取る」になっていたり、「ModelはViewへ直接指示をせず、Controller経由でViewを制御する」になっていたりする模様。
特に「ModelがViewへ直接指示を行わず、ControllerからViewの制御を行う」設計を「MVC2」と呼ぶこともあるらしい。
「ファサードパターン」という形態もある。
※ファサード:ControllerとModelのやり取りを仲介してControllerの負担を軽減する

image.png

3. MVCモデルのメリットとデメリット

メリット

  • 各パートの独立性が高く(疎結合)、高品質で効率的な開発が可能。
  • 変更や修正対応が柔軟に行なえる。

デメリット

  • システムの規模拡大により、ModelとControlerの負担が大きくなる。
  • システム機能の複雑化により、各パートが蜜結合になり、システム修正や変更の柔軟性が失われる。

参考

IT用語辞典 e-Words
MVCモデルとは!概念やそのメリットをわかりやすく解説!
MVCモデルについて

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?