c# - 插件集成的最佳模型

标签 c# integration

我们有许多插件应用程序,它们都可以独立运行,但也可以在同一主机容器中运行。用户可以运行一个主机容器或多个带有一个或多个插件的主机容器。

我们有许多“集成”用例,人们希望其中之一

  1. 将数据从一个插件发送到另一个插件
  2. 向另一个应用发送“操作”或“命令”(有时带有参数)

我们有几个选择:

  1. 在容器级别拥有一个众所周知的事件总线,所有插件都知道它,并且可以发布和订阅明确定义的消息或对象

  2. 将一个插件的 dll 嵌入到另一个插件中,并从另一个插件调用一个插件的 API

  3. 创建了解公共(public)集成点的集成插件,因此每个单独的插件都是完全独立的,并且集成插件是唯一了解集成的东西。这样我们就可以在没有任何无关依赖的情况下发布每个单独的插件。

想法或其他建议?

最佳答案

我会看一下 Microsoft 目前正在开发的新的托管扩展性框架 (MEF) 库。请参阅the Codeplex site 。据我了解,VS 2010 也将使用此框架在 Visual Studio 中提供扩展点。

关于c# - 插件集成的最佳模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/686071/

相关文章:

c# - 使用 C# 存储数据的正确方法

mysql - 在源代码管理中存储 MySQL 数据库

c# - 并行.For "Thread local state"

c# - 使用 JSONPath 编辑 JSON

integration - 添加 CBR 后,flowground 流无法工作

visual-studio - 结束 Visual Studio 调试 session 时自动关闭 Chrome 或 Firefox(如 IE)

php - 网站的 PHP 部分和 Rails 部分之间是否可以进行身份​​验证?

带有 Scala 的 Java RMI,这可能吗?

c# - 在 Rx 中存储检索 IObservable 订阅状态

c# - 键值观察不会在 UIViewController 子类上触发?