我们在前面一直将注意力集中于应用中的小细节。现在可以扩大一下视野, 考虑启动时交付在浏览器上的完整的JavaScript应用。这也可以按MVC模式进行 结构化,由于清晰地分离了关注点,得到较大的优化。
在这个级别,模型由业务领域对象组成,视图是整个可编程处理的页面,控 制器是将UI和领域对象相连接的代码中所有事件处理函数的组合。图4-2展示了 这个级别的MVC操作。这可能是对于Ajax开发者最重要的MVC使用方式,因为它很 自然地适应了Ajax富客户应用。我们将考察MVC模式的这种使用方法的细节,并 在本章的剩余部分看看能从中吸取些什么。
图4-2 模型—视图—控制器整体应用于Ajax客户端应用。这个级 别的控制器是将UI连接到JavaScript业务对象的代码
如果思考一下第3章讨论过的传统Web MVC,你会知道在一个典型的Ajax应用 中至少有3层,每一层在应用的生命周期中扮演不同的角色,它们都有助于开发 出清晰、组织良好的代码。图4-3演示了这些不同规模的MVC模式如何嵌套在应用 的架构中。
那么,当开发代码时这对我们意味着什么呢?在下面几节中,我们以更实际的 观点来考察使用MVC定义JavaScript应用的结构,它将如何影响编写代码的方式 ,它的好处是什么?让我们开始考察一下视图。
图4-3 在嵌套的MVC架构中,模式以不同的规模重复自己。在最外层的级别, 我们可以看到模式作为整体定义了应用的工作流,模型位于Web服务器端。在较 小的规模,模式在客户端应用中重复;在更小的规模,模式在客户端应用的单个 UI组件内部重复
时间: 2024-10-02 20:47:46