MVC模式的替代者ADR

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

内容简介: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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

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

Head First Python(中文版)

Head First Python(中文版)

巴里(Barry.P.) / 林琪 等 / 中国电力出版社 / 2012-3-1 / 68.00元

你想过可以通过一本书就学会Python吗?《Head First Python(中文版)》超越枯燥的语法和甩法手册,通过一种独特的方法教你学习这种语言。你会迅速掌握Python的基础知识,然后转向持久存储、异常处理、Web开发、SQLite、数据加工和lGoogle App Engine。你还将学习如何为Android编写移动应用,这都要归功于Python为你赋予的强大能力。本书会提供充分并且完备......一起来看看 《Head First Python(中文版)》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器