I t基礎

【初心者向け】MVCがなぜ使われているのか

【初心者向け】MVCがなぜ使われているのか

Webアプリ開発でよく見聞きする、「Ruby on Rails」「Laravel」「Django」などのフレームワークにはMVCモデルが採用されています。

そのMVCモデルとはどういったものかを解説していきます。

目次

MVCモデルとは 〜役割分担の明確化〜


MVC は、Webフレームワークで一般的に取り入れられているアプリケーション設定を整理するための概念の一つです。

Model(モデル)View(ビュー)Controller(コントローラー) の頭文字をとって 「MVC」と言われています。

Model, View, Controllerという役割で分けて開発を行うことで、機能の追加・編集が容易に行なうことができ流ようになり、効率的にアプリケーション開発を行うことができます。

MVCのそれぞれの役割

MVCの関係を図で表すと以下のようになります。

MVCモデルの説明図

Model (モデル)


MVCにおいては、主に Modelがシステムのロジック を担います。

Modelでは、データベースとデータのやり取りを行う機能を実装したり、データベースからデータを取得して、システムや業務固有の処理をしてデータを変換して渡すというような役割を担っています。

View (ビュー)


Viewは ユーザーとの直接的なやり取りする役割 を持っています。

画面上への表示や入出力を行う機能を持ち、Modelからのデータを参照して画面に表示します。

Controller (コントローラー)


Controllerは ModelとViewを制御する役割 を担っています。

あくまで具体的な処理は行わず、ModelとViewとの橋渡しをする司令塔のようなものです。

MVCモデルのメリット

  • 役割分担が明確で、分業しやすく効率的である

  • モジュールの独立性が高く、コードを再利用しやすい

  • 仕様変更での対応が比較的に容易にできる

  • トラブルに対しても柔軟に対応できる

MVCモデルのデメリット

  • 大規模システムではモデルやコントローラーが肥大化し、管理が難しくなる

  • コントローラーとビューの相互依存性が高まると修正が難化する

  • 大規模だとMVCモデルどおりの設計が難しい

まとめ

MVCモデルには派生のモデルとして、MVVMモデルやFluxモデルなどもあります。それらについても、今度解説記事を描いてみようと思います。

この記事が皆様のお役に立てれば幸いです。ありがとうございました。

関連記事

最近の投稿