MVC模式的替代者ADR

栏目: 后端 · 发布时间: 7年前

内容简介:ADR是Action-Domain-Responder的简称,动作-领域-响应者是将HTTP客户端和HTTP服务器端应用程序之间的用户交互组织为三个不同的角色:1. 动作Action是连接Domain和Responder的逻辑。它从HTTP请求收集的输入并调用Domain,然后调用Responder构建HTTP响应所需的数据。2.领域Domain是构成应用程序核心的领域逻辑的入口点,根据需要修改状态和持久性,这可以是事务脚本、服务层、应用程序服务或类似的东西。

ADR是Action-Domain-Responder的简称,动作-领域-响应者是将HTTP客户端和HTTP服务器端应用程序之间的用户交互组织为三个不同的角色:

MVC模式的替代者ADR

1. 动作Action是连接Domain和Responder的逻辑。它从HTTP请求收集的输入并调用Domain,然后调用Responder构建HTTP响应所需的数据。

2.领域Domain是构成应用程序核心的领域逻辑的入口点,根据需要修改状态和持久性,这可以是事务脚本、服务层、应用程序服务或类似的东西。

3.响应者Responder是界面显示逻辑,根据从Action接收的数据构建HTTP响应,它处理状态代码、标题和cookie、内容、格式和转换,模板和视图等。

它们之间协作是这样:

1. Web处理程序接收HTTP请求并将其分派给Action。

2. Action调用Domain,后者从HTTP请求收集任何所需的输入到Domain中,作为Domain的入参。

3. 然后,Action调用Responder,构建HTTP响应所需的数据(通常是HTTP请求和域结果,如果有的话)。

4. Responder是构建一个HTTP响应,使用的是Action传给它的数据。

5. Action将HTTP响应返回到web处理器,向客户端发送HTTP响应。

对于每个Action类/闭包,都有一个Responder类/闭包。

ADR不是全新的,而是MVC的一种改进定义。它更好地描述了Web系统中的交互,并且可能比原始MVC更好地分离了关注点。

MVC最初是桌面图形用户界面的设计模式,它有许多不同的解释,包括许多相似/不同的后继者,如MVP或MVVM。然而,MVC们并没有很好地描述服务器端是web-app架构下的情形,这就是pmjones为了 Web目的而改进术语MVC的原因。

在传统的MVC中,控制器Controller通常包含多个动作方法,然后传入的请求就被分派给这些动作方法,控制器本身被忽视了,这就是为什么在ADR中每个Action都由单类或闭包表示。


以上所述就是小编给大家介绍的《MVC模式的替代者ADR》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Django 1.0 Template Development

Django 1.0 Template Development

Scott Newman / Packt / 2008 / 24.99

Django is a high-level Python web application framework designed to support the rapid development of dynamic websites, web applications, and web services. Getting the most out of its template system a......一起来看看 《Django 1.0 Template Development》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换