.net – ViewModel类应该如何重用?

我正在研究WPF应用程序,我正在使用MVVM模式构建它.最初我有一个想法,ViewModels应该是可重用的,但现在我不再太确定了.

>如果我需要WinForms应用程序的类似功能,我是否可以重用我的ViewModel?
> Silverlight不支持WPF所做的所有事情 – 我是否应该能够重用Silverlight应用程序?
>如果我想为我的应用程序制作Linux GUI,该怎么办?然后我需要ViewModel来构建Mono – 这是我应该努力的吗?
>等等……

所以;是否应该考虑具有一个特定View的ViewModel类,或者考虑可重用性?

要回答您的问题,请考虑单一责任原则:

“A class should have one, and only
one, reason to change.”

我会说,在合理范围内,您通常不希望将ViewModel重用于多个视图.我争论的主要原因是因为这会给你的ViewModel带来多个改变的理由.换句话说,如果一个或另一个视图发生变化,它需要改变,在我看来,这是改变的两个原因.它停在哪里?在这种情况下我会保持简单,并将一个ViewModel绑定到View.

使用WPF进行MVVM考虑的另一件事是数据模板.如果每个ViewModel迎合一个且只有一个视图,则更容易实现.

翻译自:https://stackoverflow.com/questions/2447026/how-reusable-should-viewmodel-classes-be

转载注明原文:.net – ViewModel类应该如何重用?