0
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 5 years have passed since last update.

MVCについてざっとまとめてみた

Last updated at Posted at 2018-11-11

アプリケーションを開発する上で効果的なデザインパターン

Model View Controller (MVC)についてまとめてみる。

MVCとは

MVCとはアプリケーションを3つの主要なパーツに分割し

効率よく開発するデザインパターンである。

以下の図がMVCを表す概略図である。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3133393437302f32303066373837662d313765662d636266392d336337632d3839366163663765336662612e706e67.png
https://qiita.com より引用

MVCは、Model、View、Controllerの3つから構成されて

おりその頭文字をとってMVCと名付けられている。

また、それぞれ役割がある。

Modelとは

Modelでは主にビジネスロジックを記述する。

Modelはアプリケーションそのものであり

データベースの操作も絡んでくる。

例えば、データの検索、変換、処理、検証、関連づけなどは

Modelで開発される。

よって、開発するアプリケーションによって

Modelのオブジェクトは異なることに注意しなければならない。

Viewとは

Viewでは、Modelの表示や入出力を担当する。

モデリングされたデータの表現を描写したりする。

これは、ユーザが直接触れるだろう動画や音楽などの

データを指している。

Controllerとは

Viewの入力を受け取って判断し、Modelを起動する。

また、Modelの結果をViewに渡す。

そして、Controllerではユーザからのリクエストも扱う。

MVCを扱うメリット

・アプリケーションを分割することで効率的に開発できる

→MVCは独立性があるため仕様変更に柔軟に対応できる

・古い機能の改変、新しい機能の追加を簡単に行うことができる

→独立性が保たれているため、各3つのパーツは複雑に紐づいていないため
追加、削除を行いやすい

・開発者とデザイナーが同時に作業できる

→同時に作業できるので迅速にプロトタイピングできる

MVCを扱うデメリット

・開発方法によってMVCどれかを肥大化させる可能性がある

→肥大化することでトラブルの原因にもなりかねないので開発チームメンバーとよく相談してMVCを定義する必要がある。チーム内規約をアプリケーションごとで確認するなど日々意識してアプリ開発をする。

・定義が人によって曖昧なのでそれぞれがMVCを適用するとシステムがぐちゃぐちゃになる

→これも上述と同様にチーム内規約を作り、MVCを明瞭化させることで防ぐことができる。チーム内規約の例としては、チームとしてやってはいけないことを決めておくなど。また、定期的にコードレビューを行いチームにとって最適なMVCを保てているか確認をする。

まとめ

MVCはModel、View、Controllerで構成されていることは

どこの開発グループでも同じだろうが、開発グループによってさらには

案件によってMVCの規則はさらに細分化されて決まっている可能性がある。

もし、何かのプロジェクトでMVCを元に開発を進めているのならば

開発チームのメンバーと日々コミュニケーションをとって

効率よく開発を進めていきたい。

参考資料

[MVCを理解する](https://book.cakephp.org/2.0/ja/cakephp-overview/understanding-model-view-controller.html) [MVCモデルについて](https://qiita.com/s_emoto/items/975cc38a3e0de462966a) [ぼくがかんがえたさいきょうのMVC](https://www.slideshare.net/karupanerura/mvc-26371063)
0
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
0
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?