Logo
Section 1 / 2

应用架构

了解 Ember 应用程序的架构和工作流程。

导入

应用架构

了解 Ember 应用程序的架构和工作流程。

Ember 遵循 MVC(模型-视图-控制器)软件设计模式。MVC 的核心思想是:我们的应用程序应由独立的数据模型、独立的视图层和独立的控制器组成。这三个层次应当分别由不同的对象来实现。接下来,我们将详细讨论 MVC 设计模式中的每一层。

MVC 模式

  • 模型(Model):模型是一个仅包含应用程序数据的对象。模型不涉及数据逻辑,即数据如何呈现给用户。
  • 视图(View):视图是用于向用户展示模型数据的表示层。视图可以访问模型中的数据,但不负责对模型中数据的任何操作。
  • 控制器(Controller):控制器充当视图与模型之间的中介。它接收视图触发的事件,监听这些事件并执行预定义的操作。当需要在事件发生时渲染数据时,控制器会调用模型中的函数,并将操作结果反映到视图中。

下图展示了 MVC 模式的完整流程:

...
MVC设计模式

Ember 也遵循相同的 MVC 模式。在 Ember 中,路由(routes)充当模型,模板(templates)作为视图,而控制器则负责在两者之间处理数据交互。下面我们深入探讨这些 MVC 组件。

模型层

在 Ember 中,模型层由模型和 Ember Data 构成。Ember Data 提供了一个存储库(store),用于存放所有的模型数据。

视图层

视图层由视图和模板共同组成。在 Ember 中,视图层将原始事件(如点击事件)转换为语义化事件(例如删除某个产品)。这些语义化事件随后被发送至控制器。如果控制器中没有对应的处理方法,则事件会被转发给路由器,由路由器根据应用状态作出响应。

控制器层

控制器层由控制器和路由共同构成。控制器负责处理来自视图层的操作请求。路由从 Ember Data 获取数据,并将其加载到对应的视图中。

下图展示了 Ember 的 MVC 工作流程:

...
Ember的MVC

Ember 应用的工作流程

当我们访问一个 Ember 应用的 URL 时,会发生以下一系列事件:

  1. 请求被转发给路由器,路由器开始在 router.js 文件中查找匹配的路由。
  2. 如果找到对应路由,路由处理器将该 URL 映射到相应的路由。
  3. 路由器随后加载对应的模板和模型数据。
  4. 模板渲染出组件内容。

下图描述了 Ember 应用的完整工作流程:

...
Ember应用架构

课程概述

创建我们的第一个应用程序