ÃÜÂ룺888 株式会社ICT・パートナー - Model View Controller(モデル・ビュー・コントローラ)
 
ようこそ: Guest  さん
メインメニュー
最新ニュース
投稿一覧
フォーラム一覧
サブカテゴリー一覧
タグ一覧
最新のトラックバック

会社ブログ - Model View Controller(モデル・ビュー・コントローラ)

Model View Controller(モデル・ビュー・コントローラ)

カテゴリ : 
技術情報
執筆 : 
admin 2013-6-19 0:28
Model View Controller(モデル・ビュー・コントローラ; MVC)は、コンピュータ内部のデータをユーザに提示し、それに対してユーザが何らかの指示を出すタイプの、独自のユーザーインタフェースをもつアプリケーションソフトウェアを、以下に述べるようなmodel・view・controllerの3つの部分に分割して設計・実装するという技法、又はそのような構造をいう。

MVCは、デザインパターンの1種と扱われる場合もあるが(MVCパターンと呼称される)、MVC自体が他の小さなデザインパターン(Observer パターン・Command パターン・Factory Method パターン・Facade パターンなど)を利用して実装されることが多いところからすると、デザインパターンというより、さらに粒度の大きい1種のソフトウェアアーキテクチャという方が適当であろう[1][2]。

各モジュールが比較的截然と分かれ、プログラムの見通しがよくなるとともに、ユーザインタフェース (UI) 部分を別のモジュールに取り替えることが容易となるのが利点である。自動プログラミングなどにも適している。

元来Smalltalkにおけるウィンドウプログラム開発のための設計指針として生まれたものであるが、特に構造が複雑となりがちなグラフィカルユーザインターフェース (GUI) をもつソフトウェアにおける有用性から他方面へ広がった。

MVCの構造

MVCでは、プログラムを3つの要素、Model(モデル)、View(ビュー)、Controller(コントローラ)に分割する。
Model そのアプリケーションが扱う領域のデータと手続き(ビジネスロジック - ショッピングの合計額や送料を計算するなど)を表現する要素である。また、データの変更をviewに通知するのもmodelの責任である(modelの変更を通知するのにObserver パターンが用いられることもある)。 多くのアプリケーションではデータの格納に永続的な記憶の仕組み(データベースなど)が使われている。MVCの概念では、データの(UI以外の)入出力は取り扱わないので、データアクセスも本来MVCの概念の範疇を超えるものではあるが、敢えていえばmodelの中に隠蔽されると考えられる。 View modelのデータを取り出してユーザが見るのに適した形で表示する要素である。すなわちUIへの出力を担当する。例えば、ウェブアプリケーションではHTML文書を生成して動的にデータを表示するためのコードなどにあたる。 Controller ユーザの入力(通常イベントとして通知される)に対して応答し、それを処理する要素である。すなわちUIからの入力を担当する。modelとviewに変更を引き起こす場合もあるが、直接に描画を行ったり、modelの内部データを直接操作したりはしない。
なお、UIにおける入力と出力は本質的には不可分なものであり、したがってviewとcontrollerはいつでも分離できるとは限らない。このようなM-VCとなるような構造を拡張MVCと呼ぶことがある。

MVCのシナリオ

MVCの実装は様々であるが、制御フローは一般的に次のようになる。
1.ユーザがユーザインタフェースを通してviewに入力する(ボタンを押すなど)。
2.controllerがviewからの入力イベントを処理する。controllerは登録されているイベントハンドラやコールバックを通して呼ばれることが多い。
3.controllerがユーザのアクションに応じてmodelのメソッドを呼ぶ。その結果modelのデータ(例えば、ショッピングカートの中身など)が書き換えられることもある[3]。
4.viewがmodelから関連するデータを取得し、出力を更新する。例えば、ショッピングカートの中身の表示を更新する。
5.viewがユーザの次の操作を待つ。始めに戻って、新しいサイクルに入る。

トラックバック

トラックバックpingアドレス http://ict.chinfor.com/modules/d3blog/tb.php/2
参照元
bolsas de fendi2014-11-21 12:33
/pare/gucci bolsos mu......more
bolsas de fendi
会社紹介
カレンダー
前月2019年 8月翌月
日月火水木金土
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
ログイン
ユーザー名:

パスワード:


パスワード紛失

新規登録
検索
サイト情報