MVVMデザインパターンとは
MVVMデザインパターンは、現在、C#でグラフィカルUIをもつアプリケーションを作成する際に、使ったほうが良いと言われるブログラミング指針です。
その利点は、以下の2点が強調されています。
- プログラムの変更の際に変更が必要な部分が限定される。
- ログラムの再利用がし易い。
MVVMデザインパターンでは、プログラムを機能別に3つに層別し、プログラムを変更する際、いろいろな場所を変更しないですむようするプログラミング手法です。
- Model 実際の処理を行う部分
- View グラフィカルUI
- ViewModel グラフィカルUI(View)と実際に処理を行う部分(Model)をつなぐ部分
話題になるプログラミング手法のほとんどは、多人数で行うチームプログラミング開発に焦点を当てているので、個人で小規模なプログラミングを行う場合は、あまり利点を感じることはないかも知れませんが、C#では、グラフィカルUIに関連する拡張ライブラリのほとんどが、MVVMデザインパターンに沿ったプログラムで使われることを想定しています。
その為、現在、C#でプログラミングを行う限り、MVVMデザインパターンは避けて通る利点はあまり存在しません。そこで、これから、C#を使ったプログラミングを学ぶ場合でも、MVVMデザインパターンを使ってプログラミングすることがお薦めです。
MVVMデザインパターンは、そのまま採用するのは困難と言われており、MVVMツールキットを利用して、プログラミングするのが一般的です。MVVMデザインパターンでは、通常、ツールキットを使わずにプログラミングを始めることはありません。
MVVMツールキットは、複数のものが公開されていますが、よく利用されていると思われるものは、次の2つです。
- Prism
- MVVM Light Toolkit
Prismが、Prism 6になり、以前のPrism 5から、大きく変化したため利用できるチュートリアルやドキュメントがほぼなく、新たにMVVMパターンを習得するのは、かなり難しくなっているのに対して、MVVM light Toolkitのサイトでは、チュートリアルやドキュメントがきちんとしてる印象です。 MVVMパターンを理解するためには、現在のところMVVM light Toolkitから始めたほうが結果が早そうです。
以降は、「MVVM Light Toolkit」の和訳です。
MVVM light Toolkit
MVVM light Toolkitの基礎というタイトルのPluralsightコースが、利用可能です!これは、ツールキットについてのすべてを開始する、そして、学ぶための最良の場所です。
このコースでは、MVVM Light Toolkitの各コンポーネントについて完全な概要を説明します。加えて、コンポーネントの各々のために、多くのサンプルを紹介します。全コースは、6つのモジュールを備え、合計4時間30分です。
- モジュール1:MVVMの概要
- モジュール2:MVVMにアプリケーションを再構成する
- モジュール3:中心的なコンポーネント
- モジュール4:おまけ
- モジュール5:MVVM Lightとその他のコンポーネントのインストール
- モジュール6:MVVM Lightによる高度な例
概要
Introduction
ツールキットの主な目的は、作成、そして、Windows Universal、WPF、Silverlight、Xamarin.iOS、Xamarin.Android、Xamarin.FormsでのMVVMアプリケーションの開発を加速することです。
MVVM Light Toolkitは、よりきれいで、維持しやすく拡張することができる、アプリケーションを作成するViewとModelを分離するのに役立ちます。また、それは、テストしやすいアプリケーションを作成します。そして、あなたは、遥かに薄いユーザー・インターフェイス層を持つことができます。(これは自動的にテストするのが難しい)。
このツールキットは、作成されたアプリケーションの設計性に特に重点を置いています。(すなわち、Blendにユーザー・インターフェイスを開いて、編集する能力)、Blendユーザーが、データ・コントロールで動作するとき、「何かを確かめる」ことができる設計時のデータの作成が含まれています。
ドキュメント
Documentation
インストールと作成
Installation and Creation
- (完全なパッケージのための)MVVM light Toolkitのインストール手順は、ここでは説明されています。
- 新しいMVVM lightアプリケーションを作成するために、この記事を確認して下さい。
- 既存のアプリケーションに、MVVM Lightを追加するためのNugetを使用する場合は、このページを確認して下さい。
- 最新のリリースノートを確認するためには、このページを確認して下さい。
ソース・コードとCodeplex
Source code and Codeplex
ライブラリのソースコードは、MVVM light ToolkitのためのCodeplexサイトで利用可能です。 また、これは、ツールキットについての提案/発言/質問/ディスカッションを投稿するのにも適しています。
この記事では、Codeplexリポジトリから最新の素晴らしいコードを入手し、アセンブリをビルドする方法について説明します。 また、Visual Studioで単体テストを実行する方法と、既存のバージョンに新しいアセンブリをインストールする方法も示しています。
私たちは、MVVM Light Toolkitに関する質問には、StackOverflowを使用することをお勧めします。 StackOverflowは、プログラミングに関する質問のための素晴らしいサイトです。 そこに質問に答える巨大な開発者コミュニティがあります。 質問にタグを付けるには、mvvm-lightタグを使用してください。