用于动态加载流程定义的MEF
我们有一个由几个部分组成的应用程序:
你认为MEF可能是解决这个问题的方法吗?我已经看过MEF的例子,但它们用于实现接口,而不是用于这种“构建”模式。
任何提示如何做到这一点?还有其他选择吗?感谢。
答案 0 :(得分:0)
如果您的具体processdefinitions和实例化这些类的构建器没有公共接口,那么MEF似乎不是正确的工具(imo)。
也许您可以让构建器各自实现一个通用接口。但是,每个具体的流程定义也需要一个通用的接口。情况似乎并非如此。在您的代码中,您不会这样做:
new ConcreteProcessDefinition1.run()
和
new ConcreteProcessDefinition2.run(),
在您的代码中,您可以执行类似
的操作ConcreteProcessDefinition1.doXYZ(input1, input2)
和
ConcreteProcessDefinition2.doSomethingTotallyDifferent(input3)
为什么需要动态加载流程定义?您的客户(无权访问您的源代码)是否会创建流程定义?