Model-View-ViewModel(MVVM)アプローチは、WPF UI開発の最前線のパターンのようです。私が読んだほとんどすべての記事は、それがベストプラクティスであることを暗示しています。 RelayCommandやDelegateCommandの使い方は、多くの記事でも目立っており、MVVMを実装することはほとんど不可能なようです。 .NET 4の一部ではないのはなぜですか?RelayCommandまたはDelegateCommandがWPFに含まれないのはなぜですか?
RelayCommandは実装が非常に簡単で、多くのサードパーティのツールキットにはすでに用意されていますが、私はマイクロソフトがいわゆる「ベストプラクティス"?
MVVMが約束しているものを壊すことは本当にありません。最後に、MVVMは、ビューとその背後にあるロジックなどのデカップリングに関するものであり、これらのコマンドは完全にそれを実現します。 SRPは最も重要な原則の1つですが、どこにRを置くか注意しなければなりません。RelayCommandの責任は、何かを実行する方法を提供することです。イベントへの応答です。 VM自体に「何か」があるため、コマンドには単一の依存関係(VM)しかありません。そうでなければ、コマンドは1つ以上のオブジェクトに依存してより密接な結合を導入することができます。 – stijn
...しかし、それはすべてコースの正確な状況に依存します。また、VMに依存しないが、EventAggregatorなどにイベントを公開するRelayCommandsがたくさんあります。その場合、要求をVMに転送することは狂気になります。 – stijn