Logo
Section 1 / 12

JavaScript中的子类型介绍

让我们快速介绍一下本章的内容。

导入

JavaScript中的子类型介绍

让我们快速介绍一下本章的内容。

引言

当一个应用程序需要管理大量对象类型的数据时,这些对象类型之间可能存在多种子类型关系。处理子类型关系是软件应用工程中的一个高级议题,通常在应用开发框架中缺乏良好的支持。

本章将首先介绍 JavaScript 中基于构造函数的子类型化的一般方法,然后通过两个案例研究来分析当前示例信息模型(公共图书馆应用)的片段。

在第一个案例研究中,我们考虑以 Book 为根节点的单层类层次结构,该结构属于不完整、互斥且刚性的分割。我们使用“类层次合并”设计模式,将这一简单的类层次结构重构为单一类,使其能够映射到持久化数据库表。

在第二个案例研究中,我们分析一个多层类层次结构,包含 Person 角色的子类型:Employee、Manager 和 Author。Person 被划分为 Employee 和 Author 的方式没有任何约束,这意味着这种划分是不完整的、重叠的(非互斥)且非刚性的。

我们使用“类层次合并”设计模式对 Manager 是 Employee 的简单子类型层次结构进行重构。同时,采用“联接表继承”方法,将 Employee 和 Author 都是 Person 的类层次结构映射到三个相互通过外键关联的数据库表。

在这两个案例研究中,我们将展示:

  1. 如何从信息设计模型推导出 JavaScript 类模型和对应的实体表模型。
  2. 如何以 JavaScript 模型类的形式编写 JavaScript 类模型代码。
  3. 如何基于模型代码编写视图和控制器代码。

子类型与继承

基于构造函数的类