View和Presenter之间的交互是整个MVP的核心,能否正确地应用MVP模式来架构我们的应用,主要取决于能否正确的处理View和Presenter两者之间的关系。在由Model、Presenter和View组成的三角关系中,核心元素不是View而是Presenter,Presenter不是View调用Model的中介,而是最终决定如何响应用户交互行为的决策者。
View可以理解为Presenter委派到前端的客户代理。作为代理的View并没有决策权,所以它只能把请求汇报给委托人Presenter。
对于Presenter处理用户交互请求的流程,如果中间环节需要涉及Model,它会直接发起对Model的调用。如果需要View的参与,Presenter会驱动View完成相应的工作。
View本身仅仅实现单纯的独立的UI逻辑,他处理的数据应该是Presenter实时推送给它的,所以View尽可能不维护数据状态。定义在IView的接口最好只包含方法,而不包含属性。Presenter所需的View状态应该在接收到View发送的用户交互请求的时候一次得到,而不是通过View的属性去获取。
学习ASP.NET MVC框架揭秘笔记-View和Presenter交互的规则(针对SC模式)
原文地址:http://blog.csdn.net/yejinwei1220/article/details/45622993