Prismを使ってWindows Storeアプリを開発する作業は,ともすれば退屈で,エラーの起きやすいものになりがちだ。正しい利用法に従うならば,実質的にすべてのモデルとビューの基底クラスを,Prismで用意された代替クラスに置き換えなければならない。Appのシングルトンでさえも,MvvmAppBaseの派生クラスに置き換えることが必要なのだ。
開発者の作業を楽にするために David Britch 氏は,PrismおよびPrism with Unityで使用可能な,プロジェクトとクラスのテンプレート のセットをリリースした。氏はPrismのWindows RTバージョンのドキュメントの筆者として知られた人物だ。氏はMicrosoftのPatterns and Practicesチームに所属するが,今回のテンプレートはオフィシャルリリースには含まれていない。
氏はPrism for the Windows Runtime (別名 Windows Store) について,次のように説明する。
Prism for the Windows Runtimeは,マネージドなWindows Storeアプリ開発を支援する2つのランタイムから構成されています。
- Microsoft.Practices.Prism.StoreAppsライブラリ。MVVMアプリのブートストラップ,状態管理,ユーザ入力の検証,ナビゲーション,データバインディング,コマンド,フライアウト,設定,検索などのサポートを支援します。
- The Microsoft.Practices.Prism.PubSubEventsポータブルクラスライブラリ。アプリケーション内で疎結合されたコンポーネント間のコミュニケーションを可能にすることで,Visual Studioソリューションのアセンブリ間の依存性低減を支援します。
下のチャートは,一般的なクラスのカテゴリと,対応するPrismの基底クラスを示している。基底クラスはすべてMicrosoft.Practices.Prism.StoreAppsネームスペースにある。
- アプリケーション - MvvmAppBase
- プライマリビュー - VisualStateAwarePage
- セカンダリビュー - FlyoutView
- ビュー-モデル - ViewModel
- モデル - ValidatableBindableBase
Prismに関する詳細情報は,氏のフリーブック Prism for the Windows Runtime を参照されたい。