MVVM对自由职业者开发者的优势?

时间:2013-08-13 15:39:05

标签: wpf mvvm

我是一名自由开发者。使用MVVM模式有什么真正的优势吗?

我知道MVVM最常用于大型团队,因为设计和代码之间存在很大的差异。

但是像我这样的自由职业者呢?无论如何我应该使用MVVM模式,而不是像MVP和MVC这样的模式?

3 个答案:

答案 0 :(得分:5)

就个人而言,我认为MVVM与WPF密切相关。当我开始学习WPF时,这是一场噩梦......例如,它与Winforms有很大的不同。但是当我发现MVVM并开始在WPF中使用它时,一切都已落实到位。

拥有一个类(视图模型)来保存特定WindowUserControl(视图)所需的所有数据是完全合理的。这曾经是我最大的问题之一......我在哪里放这些数据?

我遇到的另一个问题是创建并完全理解DependencyProperty个对象以及它们带来的各种处理程序。使用MVVM,我们不需要担心这些......我们可以使用普通的CLR属性,虽然只是调用INotifyPropertyChanged' interface. No longer do I need to worry about setting up a静态PropertyChangedCallback处理程序来监视传入的值。

我在MVVM中遇到的唯一困难是关于“不使用后面的代码”......但是一旦我发现这更像是一个请求而不是一个规则,那么问题大多就消失了。然后我发现Attached Properties可以实现大多数通常会放入后面代码的UI事件类型功能(例如MouseDown事件等),然后不使用后面的代码变得更容易了。

对我来说,这是一个简单的选择...除非项目规模很小,否则我总是选择MVVM与WPF一起使用。

答案 1 :(得分:2)

我认为这更多地取决于您使用的框架以及客户想要的内容。另外我认为从头开始项目的情况非常少,大部分时间你都会处理现有的项目,然后跟随已经开始的项目是个好主意。

但是,如果你没有外界约束并从头开始,我认为对你来说最舒服的是最好的。对我来说,MVC对大多数项目都足够好。

答案 2 :(得分:1)

MVVM模式最初是为WPF设计的,但可以或多或少地应用于其他框架。如果使用WPF,我建议使用MVVM,它使代码更易于管理,并且遵循这种模式的开销很小。不太复杂,绝对不仅仅适用于大型项目,小型项目通常会发展成更大的项目,并且从一开始就遵循MVVM这样的成熟模式,而不是在以后改装,这是很好的做法。