【问题标题】:Plug-In development approach in C#.netC#.net 中的插件开发方法
【发布时间】:2015-12-03 10:57:33
【问题描述】:

我正在开发插件,我必须以这样的方式制作应用程序的架构,如果其他开发人员将来添加一些组件,那么它应该运行而不编译代码它应该从配置中读取一些配置/xml 文件并根据对象类型动态加载特定插件。我已经使用 Activator 来加载特定的程序集。

 dynamic instance = Activator.CreateInstance(type);

我已经为每个组件创建了类库,并根据配置设置动态加载程序集。我想知道这是否是一种有效的方法?我能否以更正确的方式实现此要求,因为我还需要使用 TPL(Task Process Library) 在 c#.net 中并行处理任务

谢谢。

【问题讨论】:

  • Microsoft 已经为您提供了托管扩展框架 MEF。

标签: c# plugins architecture windows-services task-parallel-library


【解决方案1】:

您应该查看IOC 的可用解决方案之一。

MEF 是一个不错的选择,但暗示在你的类上使用装饰来定义导出/导入。

如果你需要一个 xml/json 文件配置,你应该看看 AutofacUnityCastle

当然,所有这些解决方案都与Task Parallel Library 兼容。 :)

【讨论】:

    猜你喜欢
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多