学习
STUDY
system包
发布时间: 2024年12月27日
来源: 西工大
点击数: 68

1.  设计逻辑

system 包中的 SystemResourceCollection 管理了系统中的所有实   目前, 系统实体包括 TaskPool ParticipantPool AlgoContainer  Schedule 。系统实体需要继承 Resource 接口, 实现 getHandler()   出于对系统实体的保护, 所有访问系统实体的操作都应该通过 getHandler()方法,该方法返回某一个具体实体的处理句柄。其他包在 访                    

SystemResourceHandler<T>提供了两类访问方式:

1. T getResourceView() 访问该实体的不可更改视图;

2. T getResource() 访问该实体本身。

system 包对其他包(或代码)做出了一个约定: 当其他包(或其他代码) 使用 getResourceView()时, system 包保证系统功能正常(例如, 调度系统 、任务池管理 、参与者池管理等); 当使用 getResource()时, system 包不提供该保证。

基于 system 包提供的保证, 其他包可以放心的通过系统实体句 柄实现自己的功能 。例如,在 algorithms 包中, 算法的实现需要访问                   使 getResourceView()

2.  设计模式

system 包实现了一种类似于迭代模式的保证。具体的 UML 类图如下: