今回のバージョンアップは WPF の Ribbon を題材に実際に作ってみてあったほうがいい機能を追加してみました。
ダウンロードはこちらからどうぞ。 http://www.mnow.jp/tabid/220/Default.aspx
作ったリボン用の図はこうなっています、こちらも6月の勉強会までにはダウンロードできるようにしたいと思います。
ダブルクリックで拡大してみれます。

1)初期化と終了化が必要かどうかののプロパティ・Command プロパティに Set を作成した
初期化を必ずすることが応用の幅を狭めているので ViewModel を参照するだけのパターンとかを作りにくい。
Command を外部に実装しておいて代入することも考慮しました。

2)PropertyのObservableCollection対応
ViewModelだけじゃなくてPropertyもMultipicityが当然必要だと思っていました。

3)ViewModel のプロパティによる初期化コンストラクタを作成するのをやめた
以下のような初期化子を使えばPropertyChangedにnullチェックや初期化フラグを入れれば問題ないので今はやめた。
継承関係を親までたどっていかないとプロパティによる初期化コンストラクタをは出来ないが今のままでは中途半端なのでいったん止めた。
xxx = new xxxxViewModel()
{
nnnn = mmmm
};
4)Inheritを作成
図としては継承関係を記述しておきたかったので作成した。

5)Locatorを作成
ViewModel に Locator がないことは 無駄なイベントハンドリングやメッセンジャーを増やす原因になるので作成した。
バージョンアップ履歴です。
1.0.0.0 => 1.0.1.0
ViewModel にプロパティがないときにエラーになるのを修正、各メソッド間の空行を修正。
1.0.1.0 => 1.1.0.0
Prism フレームワークに対応し、フレームワークなしを選ぶとちょっとのコーディングで各フレームワークに対応可能。
少しずつ日本語化。
インストーラ版を作成しました。
1.1.0.0 => 1.1.1.0
INotifyPropertyChanging, IDataErrorInfo のメソッドをBaseクラスに移動
設定不要なプロパティを見せないようにした。
ViewModel,Property,Command,EventのプロパティグリッドにXMLコメント用のプロパティを追加
インストーラ版だけの提供にしました。
1.1.1.0 => 1.1.2.0
Aggregate,Property,Command,Eventのプロパティグリッドに初期化と終了化用のプロパティを作成。
PropertyのプロパティグリッドにMultiplicityプロパティを追加してObservableCollectionに対応した。
Locatorを作成した。
Inheritを作成した。
ViewModel のプロパティによる初期化コンストラクタを作成するのをやめた。
Command プロパティに Set を作成した。