ASP.NET MVC是一种全新的WEB应用框架,它是采用了MVC架构模式的设计思想,运行在.net framework上。
1:PV模式
Passive View是一个被动的View,其中针对UI的操作不是有View来主动控制的,而是被动地交给Presenter来操控。
由PV模式来设计View,就需要将View中所有的UI元素通过属性的形式暴露出来。再给UI定义借口的时候,使Presenter可以对View进行细粒度操作,这不需要我们要将View上的控件暴露出来。PV模式所有的UI处理逻辑全部定义在Presenter上,也就意味着所有的UI处理逻辑都可以被测试。PV模式会是借口成员变得很多,也会使Presenter逻辑复杂化。
2:MVP模式
MVP模式主要是处理View和Presenter之间的关系。在由Model,View,Presenter组成的三角关系中,核心不是View而是Presenter,Presenter是如何响应用户请求的决策者。View将用户请求都交给Presenter来处理。在Presenter处理过程中,如果需要Model,就直接发起对Model的调用。如果需要View参与,Presenter就会驱动View来完成相应工作。
对于绑定到View上的数据,是Presenter推给View的。这是从Presenter到View一个单向(One-Way)的过程。我们可以通过事件注册的方式,实现View和Presenter的交互,事件机制体现的消息流就是单向的。
View仅仅实现独立的UI处理逻辑,它处理的数据是Presenter推送过来的,所以View不需要维护数据状态。IView的借口最好只包含方法,避免属性的定义。