PHPでウェブの世界と繋がろう!
menu
ホーム > IT用語集 > MVC(モデル・ビュー・コントローラー)

MVC(モデル・ビュー・コントローラー)

Pocket

  • MVCはアプリケーションソフトウェア開発のためのプログラミングモデルの1つ

MVCとは、【Model View Controller:モデル・ビュー・コントローラー】の略称で、アプリケーションソフトウェア開発のためのプログラミングモデルの1つです。MVCモデルとも言います。これは、ソフトウェアの設計を Model:関数やロジックなど中核部分の処理、View:グラフなど表示や出力、Controller:ModelとViewの制御、に分割してシステムを実装する手法です。

MVCは、1979年 ゼロックス社のパロアルト研究所でTrygve Reenskaug氏が考案しました。氏はMVCの父と言われています。MVCは元々、Smalltalkというプログラミング言語のGUI(グラフィカル・ユーザー・インタフェース)開発の設計に用意られた指針ですが、J2EE(JAVAの基本機能を纏めたもの)などでも採用されています。また、その有用性からGUI設計のアプリケーションソフトウェアでも広く利用されるようになりました。

Model(モデル)は、システムの中核部分に相当し、ビジネスロジックを担当します。例えば、予約システムで宿泊費合計を計算する等の処理です。Modelにより表示部分と処理部分を完全に分離させることが出来ます。見栄えを編集してもModelには影響せず、Modelを変更しても表示部分は影響を受けないで済みます。

View(ビュー)は、表示 出力 のUI部分を担当します。例えば、WebアプリケーションでWebブラウザに表示されるグラフやフォームなど、また、テキスト入力フィールドや選択メニューからのユーザー入力なども View が担当します。

Controller(コントローラー)は、View と Model を制御します。Controller 自身は、ビジネスロジックの処理や表示処理などは行いません。View からのユーザー入力に応じて必要な処理を Model へ依頼し、処理結果を View に引き渡すなど、View や Model から通知を受け取り、通知を受け取った Controller はそれぞれの通知に対応して、必要な操作を View や Model に指示します。Controller は、View と Model を仲介する役割を果たし、これによって、View と Model は完全に分離することが可能となります。

MVCモデルを実装することで、ソフトウェアの内部機能を明確に分離させることが出来ます。これにより、効率的な分業が可能となり開発スピードが向上するというメリットがあります。また、機能ごとの独立性を高め、仕様変更によるソフトウェア全体への影響を小さくすることが可能で、コンポーネット(各プログラム機能、部品)の再利用性の向上や、1か所の変更が他のコンポーネットへ影響することを避け、メンテナンス性が確保されます。


タグ(=記事関連ワード)

タグ:

日付

投稿日:2015年7月1日
最終更新日:

関連記事

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/itglossary-mvc/trackback/