MSのP&PのチームからMS MVPが主体となったチームに移管されてから初のWPF版PrismであるPrism 6.0がリリースされました。今までNuGetでPrismをインストールすればよかったのが、Prism.Coreをインストールするようになっている点に注意です。
リリースノートは以下にまとまっています。
気になったところ
個人的にインパクトが大きいなと思ったところをピックアップ。
名前空間の変更
Microsoft.Practicesみたいな名前空間がついてたのが、ごっそり消えました。Prismというシンプルな名前空間になってます。
InteractionRequestに非同期版が追加
VとVMで対話するためのInteractionRequestにRaiseAsyncというメソッドが追加されています。これでコールバック地獄から解放されます。
xmlnsが変わった
http://www.codeplex.com/prismからhttp://prismlibrary.com/になったみたいです。
IViewインターフェースの削除
ViewModelLocator使うためにViewにIViewを実装しないといけなかった縛りが消えました。すっきり。
DelegateCommandの強化
DelegateCommandってRaiseCanExecuteChangedを自力で呼ばないといけなかったというめんどくさい感じだったのですが、これがObservePropertyメソッドでプロパティに変更があったときに自動でやってくれるようになりました。ただし、ObservePropertyイベント購読を内部でやってるのですが、解除する方法がなさそうなので、ライフサイクルの異なるオブジェクトのプロパティなんかを、ここに投げ込むのは危険そう。
まとめ
何か知らんが変わってるので、Prism 6.0入門でも書いてみますか?