MVVM模式学习

  
MVVM是MVC模式的变种,实现了逻辑与界面的分离。

1.MVVM结构 

 

 

  MVVM模式分为Model、View和ViewModel。

 

2.为什么会有MVVM模式 

 为了解决现实世界中的问题,我们将现实世界中的事物加以抽象,即得到了Model。

 

 但Model无法与我们的用户进行交互,。所以, 我们需要创建一个界面, 该解开可以与用户输入设备进行交互,于是我们得到了View。

 

  这样看起来似乎很完美,但实际编程时我们发现, Model中的属性往往不那么容易与View中的界面控件关联起来,。比如界面控件所需要的类型与模型中属性提供的类型不匹配、模型中的数据

需要经过一些额外的处理才能传给视图。于是我们需要一个Helper来处理这些工作。

 

 起初我们把这个Helper放到了Model外的所有类中,比如View中。这样耦合性显然很高,当我们要进行界面移植,比如移植到手机端的时候就又要进行一次Helper的处理。

 

 为了将View和Model剥离开来,实现View的可替换,我们有了MVC,然后就有了MVC的变种MVP、MVVM。

 

 在现实开发中,我们的设计人员往往是不懂代码的,只管界面,MVVM实现了业务逻辑与界面的分离,可以让我们开发人员和设计人员更好的合作。

 

3.MVVM的优点 

  1. 设计人员可以只设计UI,不用管代码如何实现。 
  2. 可以先设计UI或者与开发同时设计。 
  3. 可以实现界面与代码的分离,实现快速移植。 
  4. 有助于我们区别并哪些是UI操作,哪些是业务操作,而不是将他们全混在CodeBehind中。 
  5. 项目可测试更高,从而可以执行单元测试。
posted @ 2012-05-31 14:05  Warrentech  Views(407)  Comments(0Edit  收藏  举报