WPF/SilverlightはデータバインディングによりViewとViewModel、ViewModelとModel、互いの疎結合を保ったままでデータの同期を可能にしている。 データバインディングそのものは古のWindowsFormsから実装されており知っているのだが、WPF/SilverlightはMVVMを実装するためにもう一つの重要な機構を持っている。 コマンドバインディング コマンドとは検索や更新、登録、削除などモデル-エンティティのCRUDやビジネスロジックの呼出しを抽象化したものだが、WPF/Silverlightのコマンドバインディングはコマンドを抽象化したICommandインタフェースの実装クラスのインスタンスをXAMLからバインド、実行することができる。 ボタンに対するコマンドバインディングの例 このXAMLの語彙により、コードビハインドも含めて一切のコードを書かず、B