ホーム > コンピュータ > C# > WPF in C#

ベクトルドロー・レベルゼロ+

UIパターンとMVVMパターン[C#WPF]

概要

WPFについて調べていると頻繁に登場するMVVMパターンは、UIパターンの一種です。 MVVMパターンは、調べてみても薄ぼんやりしてよくわかりません。Web上の情報を調べてみましたが、よくわかりません。 調べたリンクをここにまとめておきます。

MVVMパターン(Model-View-ViewModelデザインパターン)とは

MVVMパターンとは、UIパターンの一種です。ビュー(View)と呼ばれる、ユーザーからのデータ入力や指示を入力したり、結果を出力するウィンドウUIと それらの入力を処理するコード(Model)をできるだけ分離(疎結合)して、ウィンドウUI(View)の変更が、それらを処理するコード(Model)に影響を与えなくすることが目的です。

そこで問題になるのが、ウィンドウUI(View)の状態の管理(ViewModel)です。ウィンドウUI(View)を開くたびに、初期状態になっているとユーザーにストレスを与えます。 そのため、どこかにその状態を保存しておき、ウィンドウUI(View)を変更する作業が必要です。この操作を、処理するコード(Model)と分離して、ビューモデル(ViewModel)としてまとめます。

このようにして、処理するコード(Model)をウィンドウUI(View)のための実装から独立させます。


このような、プログラムを、Model-View-ViewModelの3つに分割して、実装するスタイルが、MVVMパターン(Model-View-ViewModelデザインパターン)と呼ばれます。

参考サイト:UIパターン

わかりやすい説明は、見つかりません。理解するための前提となる知識が何かほかにあるのかもしれません。

UIパターン:プレゼンテーションモデル(外部サイト)

開発者が知っておくべき、6つのUIアーキテクチャ・パターン(外部サイト)

参考サイト:MVVMパターン

それで、MVVMパターンについて説明されているWebサイトを調べてみました。結果、よくわかりません。

Model-View-ViewModel デザイン パターンによる WPF アプリケーション(外部サイト)

MVVMパターンの常識 ― 「M」「V」「VM」の役割とは?(外部サイト)

MVVMパターンとは?(public)(外部サイト)

MVVMによるSilverlightアプリケーションの開発(外部サイト)

「コマンド」と「MVVMパターン」を理解する(外部サイト)

[C# / WPF] 最新のC# 6.0でMVVMパターンを実装する(外部サイト)

WPFでMVVMパターン(外部サイト)

Hilo での Model-View-ViewModel (MVVM) パターンの使用 (C++ と XAML を使った Windows ストア アプリ)(外部サイト)

Prism

よくよく調べていくと、WPFのMVVMパターンは、Prismと呼ばれる拡張ライブラリにつながります。 このライブラリを使用した実装手法、あるいは、このライブラリに感化された実装手法というのが本質のようです。

要は、このライブラリを使わないと、特段便利ではないということだと思われます。 ドキュメントは、英語ですので、読むのもたいへんです。そして、理解して、使えるようになるまで、それなりの時間がかかる気がします。

参考サイト:チュートリアル

チュートリアルがありました。

Model-View-ViewModel (MVVM) パターンの使用(外部サイト)

Windows ストア ゲーム "リバーシ" (XAML、C#、C++)(外部サイト)

ページトップへ
C#トップ
Copyright (C) 2011-2016 kukekko All Rights Reserved.
kukekko@gmail.com
ご連絡の際はアドレスの@は半角にしてください。 また、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません 」。
inserted by FC2 system