Petrel Ocean中模块和插件的区别

Petrel Ocean中模块和插件的区别

刚刚开始接触Petrel Ocean,想知道Plug-in和Module有什么区别。

至少目前,它们看起来是一样的。

有人可以给我一些想法吗?

答案1

Plugin 类包含为插件提供标识并由插件管理器使用的属性。插件包含 IEnumerable 模块中的所有模块。IModule 接口定义模块生命周期阶段的方法。在 Petrel 启动期间,Ocean Core 将根据 Plugin 类加载插件管理器在配置文件中定义的模块。

答案2

插件是新的,IModule是旧的。

插件管理器处理插件,因此您应该使用它。

答案3

如果您计划通过 Ocean Store 部署您的插件,那么您将需要从 Plugin 类派生。当然,您的插件还必须实现 IModule,因为控制生命周期的方法就驻留在其中。

答案4

Plugin是一个聚合实体IModule,即一个Ocean插件可能由几个模块组成,每个模块都单独授权。

Plugin包含附加信息 - AuthorContactPluginUri,当插件导致问题(例如未处理的异常)时,这些信息可帮助 Petrel 更好地通知用户。顺便说一句,Plugin只是一个信息容器,因为它不包含任何要覆盖的方法。

Plugin让您声明Dependencies,来定义 Petrel 中 Ocean 插件加载的顺序。

最后,具有类定义和打包为 PIP 的 Ocean 插件Plugin包含一个 XML 格式的元文件,其中包含所有属性Plugin,让 Petrel 可以预先检查某些条件,而无需实际安装它。例如AppVersion,属性定义了此插件编译时使用的主机应用程序(例如 Petrel)的版本。

相关内容