Yuta Watanabe's Blog

開発周りと、その他諸々

MVVM パターンをより深く理解する

こんにちは。

マイクロソフトの渡辺です。

アプリケーションのデザインパターンの1つである MVVM ( Model - View - ViewModel )。既に多くの実装例や MVVM パターンを採用した Framework が公開されています。

f:id:yuwata:20140813094359p:plain

from Wikkipedia

また、MVVM パターンは、C#/.NET/XAML の世界を中心に多く利用されてきましたが、最近では、JavaScript/HTML のアプリケーション開発で利用されることも多くなりました。

そして MVVM を理解する中で、また MVVM をサポートする Framework を利用する中では Model, View, ViewModel にとどまらず、Service, Command, Messenger, IoC, DI, Service Locator ..e.t.c といったキーワードに自然と出会うでしょう。

これらのパターンの実装については、様々なコードの書き方が提案されており、メリット/デメリットについても頻繁に議論されています。Framework によっても、その設計/実装方法が異なり、様々なバリエーションがあるのも MVVM というデザインパターンの特徴の1つではないでしょうか。

今回は、MVVM のより深い理解に役立つ動画を 2つご紹介させてください。

まず 1つ目は「 MVVM Best Practices 」です。

MVVM Best Practices

MVVM とは何か?何が MVVM で何がそうでないのか。MVVM ですべきこと、すべきでないこと、そしてそれらの理由についてのデモも交えたディスカッションです。View と Logic を分離するという MVVM の基本について改めて理解を深めることができます。

そしてもう 1つは「 Using MVVM So You Can Write Better Code and Less Code 」です。

Using MVVM So You Can Write Better Code and Less Code

こちらは、より実際のアプリケーション開発に即したノウハウが語られています。バックエンドのサービスとの接続や、View での挙動をどう実装するか、その際 ViewModel はどう振る舞うか等について、ヒントを得ることができるでしょう。

View と Logic を分離し、コードの保守性や再利用性を高める MVVM パターン、さらに使いこなして、より高品質なアプリ開発へとつなげていきましょう。