内容简介:ADR是Action-Domain-Responder的简称,动作-领域-响应者是将HTTP客户端和HTTP服务器端应用程序之间的用户交互组织为三个不同的角色:1. 动作Action是连接Domain和Responder的逻辑。它从HTTP请求收集的输入并调用Domain,然后调用Responder构建HTTP响应所需的数据。2.领域Domain是构成应用程序核心的领域逻辑的入口点,根据需要修改状态和持久性,这可以是事务脚本、服务层、应用程序服务或类似的东西。
ADR是Action-Domain-Responder的简称,动作-领域-响应者是将HTTP客户端和HTTP服务器端应用程序之间的用户交互组织为三个不同的角色:
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(中文版)
巴里(Barry.P.) / 林琪 等 / 中国电力出版社 / 2012-3-1 / 68.00元
你想过可以通过一本书就学会Python吗?《Head First Python(中文版)》超越枯燥的语法和甩法手册,通过一种独特的方法教你学习这种语言。你会迅速掌握Python的基础知识,然后转向持久存储、异常处理、Web开发、SQLite、数据加工和lGoogle App Engine。你还将学习如何为Android编写移动应用,这都要归功于Python为你赋予的强大能力。本书会提供充分并且完备......一起来看看 《Head First Python(中文版)》 这本书的介绍吧!