基于Model 2架构与WebWork的Web应用开发
1. 从Model 1到Model 2
在Web应用开发中,最初我们可能采用以页面为中心的Model 1架构。但当面临一些实际问题时,这种架构就显得力不从心了。比如,办公室需要一个集中式联系人管理器,用于项目中人员信息的查询。我们希望这个系统既快速又灵活,并且能够大量复用组件,此时就需要考虑Model 2架构了。
1.1 Model 2架构概述
要理解Model 2架构,首先要回顾一下Model - View - Controller(MVC)范式。MVC将系统分为三个不同的组件,以满足三个核心概念:
- 模型(Model) :代表现实世界中领域的实际表示。例如,在高尔夫计分系统中,会有代表高尔夫球洞、分数等的对象。
- 视图(View) :指管理数据的展示方式。比如,可以有每个球洞上每个球员的视图,或者某个球员在整个球场上的计分卡视图。
- 控制器(Controller) :指系统可以执行的实际离散操作。例如,“输入分数”、“生成排行榜”等。
简单来说,模型是“它是什么”,视图是“它看起来像什么”,控制器是“它做什么”。
1.2 Model 2架构的工作流程
Model 2架构的工作流程如下:
1. 请求进入控制器。
2. 控制器使用提供的参数执行给定的操作。
3. 控制器将控制权转发给视图以给出响应。
4. 视图参考领域模型来构建展示内容。
5. 视图通过响应返回