对MVC、MVP、MVVM的理解(二)
二、MVP
MVP模式作为MVC的改进版,把View中的逻辑处理移除,使得View作为纯粹的展示层。
在MVP中,将原来的Controller改为了Presenter,它的意思是主持人,顾名思义是一个 承上启下的角色。
我们可以将View中的逻辑处理都放在Presenter中,有一大部分的前端及移动端框架都使用MVP模式,在View层写纯粹的UI展示,在Presenter中绑定事件,获取View数据并对其进行处理,期间与Model交互,然后将处理好的数据在Presenter中赋值给View中的相应控件。想想我们在前端中使用基础js和jquery的时候不就是这么干的吗?
MVP模式相对于MVC可以说是有很大的进步,现在的View只管展示,Model只管数据,其余的操作都集中在Presenter。但是这也成为了MVP的一种缺陷,不管是业务逻辑、界面处理、界面展示逻辑,甚至于事件绑定和数据获取都在Presenter中,造成Presenter层臃肿,一个文件特别长,完全不利于后期维护(尤其是碰到备注不全的项目)。
三、MVVM模式
作为一个WPF开发者,MVVM模式可以说是必须要去理解并应用的。MVVM模式是MVP模式的再升级版本。
这是一种比较普遍的对MVVM的解释图解,我们可以看到一个细节,View和ViewModel之间是双向箭头,而Model和ViewModel之间是两个单向箭头。为什么要这样画呢?品,继续往下品....