1.什么是 Interface
在 Foundry 的本体(Ontology)模型中,一个 接口(Interface) 是一种 对象类型(Object Type)所遵循或实现的契约/规范。换句话说,接口定义了某类对象类型 应具备的属性(properties) 和 功能/能力(capabilities)。
具体来说:
- 接口描述的是 “对象类型具有的形状(shape)”——也就是该对象类型中必须或可选择包含哪些属性。
- 接口还描述了 “对象类型应暴露的能力”——例如该对象类型能够响应某些动作(Action)或执行某些函数。
- 因为接口是定义契约性质的,它为不同对象类型之间提供语义一致性和可替代性:多个对象类型可以实现同一个接口,从而在系统中以统一的 “行为/能力” 方式被使用。
2.Interface的作用与价值
- 语义一致性:通过定义接口,你可以确保不同对象类型在“看起来”或“功能上”具有统一的结构。例如,“可审阅(Reviewable)”这一接口可能要求对象必须具备 review_status 属性和 submit_review 动作。
- 类型替换性:如果对象类型 A 与类型 B 都实现了某接口,那么从应用层或函数层面就可以“将 A 当作 B 来处理”,因为它们遵循相同契约。
- 模型清晰分层:接口促使模型设计者先定义“能力契约”再定义“具体对象类型”,从而提升模型的可维护性与可扩展性。
- 代码/逻辑复用:在系统中可以基于接口编写更通用的功能逻辑,而不必每个对象类型都重复定义。这样当新增对象类型实现该接口时,逻辑可直接复用。
3.接口在 Foundry 中的典型设计流程
- 定义接口:在 Ontology 管理界面创建一个新的 Interface,指定其名称、描述、需要包含的属性/能力。
- 在一个或多个对象类型中 实现(implement) 该接口:对象类型的定义会表明它“实现”某个接口。
- 应用或函数/动作可以基于接口进行调用:例如函数参数要求一个实现了 Reviewable 接口的对象类型实例。
- 当对象类型实现了接口后,它必须满足接口所定义的属性和能力;系统可能会在验证/构建时检查这一点。
注意事项
- 接口并不是对象类型本身,而是 对象类型所遵循的一种规范。
- 接口本身通常不直接对应数据源或独立存储,它只是模型层的元结构。
- 在设计接口时,应关注 “哪些属性是必须的契约” 与 “哪些能力是通用且可复用的”,避免将太多特定于某对象类型的细节放进接口。
- 虽然目前文档标明 “Interfaces (Beta)”,说明该功能可能仍在演进、具体细节(如版本、迁移规则)可能有变化。
1171



被折叠的 条评论
为什么被折叠?



