使用两个组件的“插件”类型逻辑
我正在开发一个迁移工具。 我有两个不同的程序集,一个是用于收集数据并将其存储在预定义类型(称为Customer
, Product
等)中的Mapping
。 该程序集使用反射在引擎中实例化,并将数据迁移到目标平台(以相当硬编码的方式,我们拥有像MigrateCustomers
等方法)。
我想重写应用程序,使其更通用,允许客户(例如)扩展我们的Product类,并将逻辑注入到两个程序集中。 如果只有一个,我会创建一个接口,添加Execute()
方法,这很简单。 (类似命令模式)。
问题是我需要两个确保两个程序集都使用相同的“插件” - 一个部分定义用于导入数据的第二个数据的逻辑。
有没有处理类似问题的模式?
处理这个问题的模式称为:控制反转(IoC)。 你可以参考这些文章的细节:
托管扩展性框架基于国际奥委会,如果你想实现一个小插件框架,你可以按照IoC模式做你自己; 如果你想要一个有很多功能的框架,你应该使用MEF。
链接地址: http://www.djcxy.com/p/82199.html