[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
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では、プログラムを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と呼ぶことがある。