私は主にASP.NetのバックグラウンドにMVCをいくつか使用しています。私もSilverlightとMVVMをやったことがありますが、今私は経験がほとんどないWinformsに移行しようとしていますので、MVPに取り組む方法が不思議です。MVP in Winforms
典型的なMVPサンプルは、特定の種類のIViewインターフェイスを使用してビュープロパティを設定するプレゼンターを示し、具体的なビューでそのプロパティ値をたとえばテキストボックスに配置します。この古風なアプローチの代わりに、MVPでINotifyPropertyChangedを利用できますか?非常に簡単な例が本当に便利です!
もし私がINotifyPropertyChangedを実装したモデルを作成しようとしたら、これはMVVMのようなものではありませんか? (つまり、プレゼンターがモデルを更新し、INotifyPropertyChangedの魔法によってビューが更新されます)。しかし、私がMVVMとWinformsについて読んだところでは、それは適切ではないと人々は言う。どうして?私の理解は、WinFormsは何が欠けているので、あなたはちょうどすべてのコントロールのプロパティについてdatabindことができるということですか?私はWPFと比較してWinformsのデータバインディングの欠点を理解しようとしています。MVVMよりも実装が簡単なMVVMを使用できない理由を理解しようとしています。
ありがとうございました アンディ。
これは本当に知っていると便利です。回答を投稿していただきありがとうございます。 –
確かに有用な例です。しかし、モデルをビューに直接公開するのはちょっとした問題ではないですか?おそらく、ViewModelを使うほうがいいでしょう。 – kasperhj