学习ASP.NET MVC框架揭秘笔记-View和Presenter交互的规则(针对SC模式)

2.            View和Presenter交互的规则(针对SC模式)

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的属性去获取。

时间: 2024-08-08 22:07:15

学习ASP.NET MVC框架揭秘笔记-View和Presenter交互的规则(针对SC模式)的相关文章

学习ASP.NET MVC框架揭秘笔记目录

学习ASP.NET MVC框架揭秘笔记目录 第一章     ASP.NET+MVC 1.1传统的MVC模式 持续更新中,,,,

学习ASP.NET MVC框架揭秘笔记-MVP

1.2.1                      MVP MVP是一种UI架构模式,适用于基于事件驱动的应用框架.MVP中的M和V分别对应MVC的Model和View,而P(Presenter)代替了Controller. 在MVP模式中,能够与Model直接进行交互的仅限于Presenter,View只能通过Presenter间接地调用Model.Model的独立性在这里得到真正的体现,他不仅仅与可视化元素的呈现无关,与UI处理逻辑(Presenter)也无关. MVP不仅仅避免了View

学习ASP.NET MVC框架揭秘笔记-IIS/ASP.NET管道(一)

IIS/ASP.NET管道 ASP.NET MVC就是建立在ASP.NET平台基础上基于MVC模式的Web应用框架,深入理解ASP.NET MVC的前提是对ASP.NET管道式设计有深刻的认识.由于ASP.NET Web应用大都寄宿于IIS上,接下来会介绍3个主要的IIS版本对各自Web请求的处理方式. 1.3.1 IIS 5.x与ASP.NET IIS 5.x运行在进程InetInfo.exe中,该进程寄宿着一个名为World WideWeb Publishing Service(简称W3SV

学习ASP.NET MVC框架揭秘笔记-什么是MVC模式

1.1.2什么是MVC模式 MVC的创建者是Trygve M.H.Reenskau,他是挪威的计算机专家,同时也是奥斯陆大学的名誉教授.MVC是他在1979年提出的一种主要针对GUI应用的软件架构模式. MVC体现了"关注点分离"这一基本的设计方针,他将一个人机交互应用设计的功能分为Model.Controller和View三部分,他们各自具有如下的职责. 1.Model是对应用状态和业务逻辑的封装,我们可以将它理解为同时包含数据和行为的领域模型.Model接受Controller的请

学习ASP.NET MVC框架揭秘笔记-实例演示:SC模式的应用

实例演示:SC模式的应用 为了对SC模式下的MVP,尤其是该模式下的View和Presenter之间的交互方式有一个深刻的认识,我们现在来做一个实例演示.我们采用员工查询的场景,用ASP.NET Web Forms来建立这个简单的应用. 我们先来定义员工的数据类型,Employee来表示一个员工,有5个属性:ID.姓名.性别.出生日期和部门. public class Employee { public string Id { get; private set; } public string

学习ASP.NET MVC框架揭秘笔记-PV与SC

1.                                   PV与SC 解决View难以测试最好的办法就是让他无须测试.如果View不需要测试,其先决条件就是让它尽可能不涉及UI处理逻辑,这就是PV模式的目的所在. 如果我们纯粹的采用PV模式来设计View意味着我们需要将View中的UI元素通过属性的形式暴露出来.具体来说,当我们为View定义接口的时候,需要定义基于UI元素的属性使Presenter可以对View进行细粒度操作,但这并不意味着我们直接将View上的控件暴露出来.

学习ASP.NET MVC框架揭秘笔记-传统MVC模式

1.1传统MVC模式 对于大部分面向最终用户的应用来说,他们都需要具有一个与用户进行交互的可视化UI界面,我们将这个UI称为视图(View).在早期,我们倾向于将所有与UI相关的操作糅合在一起,这些操作包括UI界面的呈现.用户交互操作的捕捉与响应.业务流程的执行及对数据的存取等,我们将这种设计模式称为自治视图(Autonomuous View  ,  AV). 1.1.1  自治视图 1.1.2  什么是MVC模式

学习ASP.NET MVC框架揭秘笔记-自治视图

1.1.1自治视图 一个典型的人机交互应用具有3个主要的关注点,既数据在可视化界面上的呈现.UI处理逻辑(用于处理用户交互式操作的逻辑)和业务逻辑.自治视图模式将三者混合在一起,势必会带来如下一些问题. 1.重用性.业务逻辑是与UI无关的,应该最大限度地被重用,但是若将业务逻辑定义在自治视图中相当于使他完全与视图本身绑定在一起.除此之外,如果我们能够将UI的行为抽象出来,基于抽象化UI的处理逻辑也是可以被共享的,但是定义在自治视图中的UI处理逻辑也完全丧失了重用的可能. 2.稳定性.业务逻辑具有

学习ASP.NET MVC框架揭秘笔记-IIS/ASP.NET管道(二)

IIS7.0与ASP.NET IIS7.0在请求的监听和分发机制上又进行了革新性的改进,主要体现在引入Window进程激活服务(Windows Process Activation Service,WAS)分流了原来(IIS6.0)W3SVC承载的部分功能.IIS6.0中W3SVC主要承载着如下三大功能. 1.HTTP请求接收:接收HTTP.SYS监听到的HTTP请求. 2.配置管理:从元数据库(metabase)中加载配置信息对相关组件进行配置. 3.进程管理:创建.回收.监控工作进程. II