构建基块 > 构建基块设计模式 > 抽象和实施设计模式
抽象和实施设计模式
在抽象和实施设计模式中,标准设计模式的抽象部分被拆分并形成其自身的构建基块 (例如 PTC.BuildingBlock),且独立于实施构建基块 (例如 PTC.BuildingBlockImpl)。这样,解决方案开发人员便可提供同一抽象构建基块的多个实施,例如 PTC.BuildingBlockImpl1PTC.BuildingBlockImpl2 等。
在抽象构建基块中,管理事物形态 (例如 PTC.BuildingBlock.Management_TS) 中的服务定义是空的可覆盖服务 (即可在实施构建基块中被覆盖)。实施构建基块中有一个附加的管理器实施事物模板,例如 PTC.BuildingBlockImpl.Manager_TT。此管理器事物模板从抽象构建基块中的管理器事物模板扩展而来,继承了管理事物形态中定义的服务。这些服务实际上是在实施构建基块管理器事物模板中实现的。
下图显示了如何将一个构建基块的必需实体拆分为抽象和实施构建基块。
图示为被拆分为抽象和实施构建基块的构建基块的必需实体,其中包括用来实现其他实体或从其他实体扩展而来的实体。
图表中的空心实线箭头 () 指示实体从箭头所指向的实体扩展而来,而空心虚线箭头 () 指示实体用来实现箭头所指向的实体。
必需实体
抽象和实施设计模式需要用到以下实体:
项目 - 每个构建基块 (抽象和实施构建基块) 都具有一个 ThingWorx 项目实体,其中包含构建基块实体,例如 PTC.BuildingBlockPTC.BuildingBlockImpl。根据命名约定,建议在构建基块所有实体的名称中包括项目名称。
入口点 - 入口点用于标识已安装解决方案其余部分的构建基块,包括其名称、版本和依存关系等。在 ThingWorx 服务器上首次部署构建基块时,可覆盖名为 DeployComponent 的服务,以执行操作。抽象构建基块会为其自身的入口点事物模板扩展 PTC.Base.ComponentEntryPoint_TT 事物模板,例如 PTC.BuildingBlock.EntryPoint_TT。实施构建基块会为其自身的入口点事物模板扩展 PTC.DefaultConfiguration.EntryPoint_TT 事物模板,例如 PTC.BuildingBlockImpl.EntryPoint_TT。入口点事物是通过其入口点事物模板分别为每个构建基块创建的,例如 PTC.BuildingBlock.EntryPointPTC.BuildingBlockImpl.EntryPoint
管理器 - 构建基块管理器是构建基块的主要服务层,可为构建基块提供多种功能。首先,管理器用作调用至构建基块的实体的抽象层。其次,管理器用于配置菜单项、内置混搭以及要使用哪个管理器 (如果定义了多个管理器)。
抽象构建基块的管理器事物模板 (PTC.BuildingBlock.Manager_TT) 从 PTC.Base.CommonManager_TT 事物模板扩展而来。实施构建基块的管理器事物模板 (PTC.BuildingBlockImpl.Manager_TT) 从抽象构建基块的管理器事物模板扩展而来。实施构建基块的管理器事物是基于实施构建基块的管理器事物模板而创建的。
抽象构建基块的管理器事物模板还具有实施的管理事物形态 (PTC.BuildingBlock.Management_TS)。此事物形态包含组件所需的所有服务。这些服务由实际服务实施所在的实施构建基块管理器事物模板继承。对于由 PTC 开发的构建基块,可将这些服务作为自定义进行覆盖,这样解决方案开发人员便能够根据各自的需求覆盖默认服务。有关详细信息,请参阅。
实施构建基块的管理器事物模板可实现该实施所需的所有其他事物形态。例如,DPM 解决方案中的多个实施构建基块实现了 PTC.DBConnection.DBManagement_TS 事物形态,因此可以访问 DPM 数据库。
可选实体
下图显示了可包括在抽象和实施设计模式中的可选实体。下图中,PTC.MfgModel 构建基块用作具有型号、资产或设备层次结构的构建基块示例,其事物模板在抽象和实施设计模式构建基块中实现了模型逻辑事物形态。带有虚线的实体是此模式中包括的可选实体,用于实现如下所述的特定目的。其他 ThingWorx 实体也可包括在抽象和实施设计模式中,但这些实体具有特定的含义。
图示为被拆分为抽象和实施构建基块的构建基块的必需和可选实体,其中包括用来实现其他实体的实体或从其他实体扩展而来的实体。
图表中的空心实线箭头 () 指示实体从箭头所指向的实体扩展而来,而空心虚线箭头 () 指示实体用来实现箭头所指向的实体。
抽象和实施设计模式中包括以下可选实体:
安全实体 - 可以创建权限用户组,并将其用于为各个构建基块定义不同的权限。用户角色只是添加到各个权限用户组中的另一个用户组。
混搭 - 抽象和实施设计模式可将混搭作为构建基块功能的一部分进行添加。这些混搭可以是连接到主数据混搭的主混搭,也可以是由不同构建基块使用的内置混搭。具体由构建基块开发人员确定在哪个构建基块中使用哪些功能。
模型逻辑实体 - 模型逻辑事物形态可供混搭或其他组件使用,旨在通过使用 ThingWorx 所需的组织来增强设备的组织安全性。如果用例调用单台设备的可见性控制,则需要用到模型逻辑事物形态。模型逻辑事物形态中包含的服务适用于设备层次实体,并提供封装服务,以通过构建基块的管理事物形态对相应的已配置管理器进行调用。所有管理器都在 PTC.BaseManager 事物的 DefaultGlobalManagerConfiguration 配置表中进行了注册。管理器也可以在实现 PTC.Base.ConfigManagement_TS 事物形态 (例如构建基块的管理器事物,或基于实现事物形态的事物模板 (例如 PTC.MfgModel.DefaultWorkUnit_TT) 的设备型号事物) 的任何实体的 ManagerConfiguration 配置表中配置。这样不同的模型就可以使用不同的管理器。例如,两个站点可以有不同的管理器以供不同的模型使用,因为这些模型从不同的源获取数据。
当某个服务引用其他管理器时,该服务首先会在调用该服务的实体的 ManagerConfiguration 配置表中进行查找,以查看是否存在为引用的管理器配置的条目。如果该服务在此找不到任何条目,则该服务会在 PTC.Base.Manager 事物的 DefaultGlobalManagerConfiguration 配置表中进行查找。
这对您有帮助吗?