WEBアプリケーションやユーザーが画面を操作するようなアプリケーションで度々出てくるMVCについて説明します。 MVCとは、Model(M)・View(V)・Controller(C)の略で、アプリケーションを作成するための設計パターンのことです。 Modelはデータやロジック部分・Viewはユーザーが操作する画面など・ControllerはModelとViewの橋渡しとして2つを操作(コントロール)する部分としてそれぞれ役割を明確にし、ソースコードをわかりやすくするために作られました。

MVCとは

3年以上前に更新されました。情報が古い可能性があります。
更新日 : 2019年05月08日

WEBアプリケーションやユーザーが画面を操作するようなアプリケーションで度々出てくるMVCについて説明します。

MVCとは、Model(M)・View(V)・Controller(C)の略で、アプリケーションを作成するための設計パターンのことです。

Modelはデータやロジック部分・Viewはユーザーが操作する画面など・ControllerはModelとViewの橋渡しとして2つを操作(コントロール)する部分としてそれぞれ役割を明確にし、ソースコードをわかりやすくするために作られました。

MVCを使用するメリット

モデル・ビュー・コントローラと役割を明確にするメリットをもう少し考えてみます。

1つのアプリケーションを複数人で開発する場合を考えてみましょう。

1人はHTMLやCSSを得意とするデザイナー兼エンジニア・1人はプログラミング大好きなエンジニア・1人はデータベース処理に強いエンジニアがメンバーにいることを考えます。

このとき、それぞれのエンジニアは得意な部分のコードだけのことを考えて開発を進めていけば、最も効率的に開発ができるはずです。また、不得意な部分を開発させられると、ミスが増える可能性もあります。

これらの問題を解消するために、機能を大別して得意な部分だけを開発するために作られたのがMVCによる設計パターンです。

コントローラーはユーザーからの操作を受けつけ、その操作に応じて必要なデータをモデルに頼みます。
モデルは頼まれたデータを取得・加工し、コントローラーに必要とされているデータを渡します。
コントローラーが受け取ったデータをユーザーに表示するために、ビューに渡します。
ビューは受け取ったデータを描画し、ユーザーに見せます。

このように役割や機能ごとにコードを分別し、それぞれの役割以上のことを行わない設計にすることで、保守性(コードの改修のしやすさやバグ取りのしやすさ)を向上させ、効率的に開発が行えます。

まとめ

MVCについての概要を説明しました。実際に開発をしてみないことには難しいと思いますが、それぞれの機能としての役割を明確にし、保守性の高いコードを書くことを意識することが大切です。