C#中的插件模式

前端之家收集整理的这篇文章主要介绍了C#中的插件模式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问题:
我正在构建一个接受文件,翻译并执行它的框架.框架应该能够处理任何类型的文件,为此我提供了一种上传包含用于翻译和执行文件的类和方法的DLL的方法.我在寻找,是定义插件界面的最佳方式

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

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

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

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

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

提前致谢,
技术考试伙计

解决方法

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

猜你在找的C#相关文章