C#中的插件模式

问题:
我正在构建一个接受文件,翻译并执行它的框架.框架应该能够处理任何类型的文件,为此我提供了一种上传包含用于翻译和执行文件的类和方法的DLL的方法.我在寻找,是定义插件界面的最佳方式

解决方案A:
定义一组公开可用的接口.插件应该实现这些接口.

解决方案B:
定义一些公开可用的抽象类.插件应该继承并覆盖这些类上的抽象方法.

解决方案C:rcravens
代码内部传递接口,创建一个公共可用的抽象类,以允许插件可扩展性.选择
解决方案仅在接口之前选择,因为它支持基本实现(在这种情况下很方便).它仅在抽象类之前被选中,因为它允许在代码中进行模拟.组合框架非常出色,但对于像这个应用程序那样只需要有限扩展性的轻量级东西来说有点过头了.

解决方案D:JayChris Shain
实现组合框架(例如Managed Extensibility Framework(MEF))并围绕它构建

如果出现任何新的解决方案,我会将它们添加到此列表中.答案将归于最能证明其解决方案合理的人(可能具有优势和局限性)

提前致谢,
技术考试伙计

解决方法

在最低级别,我相信你需要接口.这允许大多数模拟框架轻松提供假货.在你的代码周围,你应该传递接口.如果您需要一些可以重构为抽象基类的基本实现,那么就这样做.抽象基类和接口不是互斥的概念.有时候两者都有意义.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...