以前,听过很多次MVVM的说法,对于Silverlight中也是很重要的一种理念,一种模式,但是一直不太明白他的作用,已经到底是干什么的。今天突然有所感悟,就把自己的看法说说,MVVM 主要是 View层,View Model层,和Model层。
Silverlight其实是利用了它可以绑定页面的特性,才衍生出的MVVM。 Model层写 各种程序中要用到的数据,属性。比如定义人,人的属性中有大腿,有手臂,就可以在Model层中定义,其实Model层中所含的东西非常少,有的时候只是一个小小的CS文件,然而这个CS文件中定义各种各样的属性和数据。View层则是一些美工用Blend画出来的界面。各种各样的界面。View-Model层则是程序员所重要编写的东西。里面写有各种各样的Behavior,Action,Trigger,或者事件逻辑。或者是操作数据库的那些代码。而美工只需要关注这个页面如何修改,如果需要操作页面中的某个控件或者图片,只需要把能实现这个操作的Behavior或者Action 拖拽上去。而这些Behavior或者Action 则是由程序员编写的。
理想中的开发模式应该是:一批操作View层的美工。一个写样式库或者模版的高级美工,一批写View-Model层的程序员和一个定义 大部分行为基类的高级程序员 。这个高级程序员把这些操作形式封装在一个基类中,或者一个接口中,然后低级程序员去继承并实现这些接口。最后美工再把这些方法拖拽到相应的界面中。
我想这就是用MVVM能快速并流水线一样的生产软件的原因吧。