在wpf编程中使用MVVM模式的优劣

大概要从很久以前说起,那时候使用vc6编程,界面上不断的添加程序的行为逻辑以及系统自身附带的代码,臃肿不已。那时候就梦想着,要是有一种方法可以有效的区分UI和程序逻辑,该有多好啊。

终于有机会,需要使用C#,使用WPF完成桌面程序了。逐渐的,又接触到了绑定等等新的方法,终于了解了MVVM这个看似很棒的分离UI和逻辑的模式,当时真是很happy。写了几个小程序,自己觉得很赞啊。于是开始使用这个模式完成工作了。然而,随着工作的日益进展,其不足亦日益显现。

最大的不足就是不够灵活,MVVM很好,可是一旦使用这种模式,整个程序的框架也就完全定死了,没有改变的余地,这种模式是一个view和一个viewmodel相对应,导致一些很小的view也需要重写viewmodel。而且绑定虽然看似好用,但在实际调试的过程对绑定的相关项时而弄错。

其实再想想使用vc6的时候,程序的臃肿,很大程度上是开始的时候就没有划分逻辑和界面,没有细化界面中的一个个子模块,而在编程中尽量的模块化,是本应该做到的,而无须强迫通过MVVM这种形式。

软件工程中有句名言,“no silver bullet”,想想也是,每一种方法和模式都有其特定的使用场景,指望一种方法包打天下本就是不切实际。



你可能感兴趣的:(在wpf编程中使用MVVM模式的优劣)