我们有许多插件应用程序,它们都可以独立运行,也可以在同一个主机容器中运行。用户可以使用一个或多个插件运行一个主机容器或多个主机容器。
我们有许多“集成”用例,人们想要
- 将数据从一个插件发送到另一个插件
- 将“动作”或“命令”发送到另一个应用程序(有时带有参数)
我们有几个选择:
在容器级别有一个众所周知的事件总线,所有插件都知道并且可以发布和订阅定义良好的消息或对象
将一个插件的 dll 嵌入另一个插件并从另一个插件调用一个插件的 API
创建了解公共集成点的集成插件,这样每个单独的插件都是完全独立的,并且集成插件是唯一了解集成的东西。这是我们可以在没有任何无关依赖的情况下发布每个单独的插件。
想法或其他建议?