.net - 在您的应用程序中实现插件的设计模式?

标签 .net design-patterns plugins

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

2年前关闭。




Improve this question




为您的应用程序允许和实现插件系统的标准方法是什么?

在我的上一个应用程序中,我为它们必须实现的所有插件创建了一个简单的接口(interface)。然后,我将所有程序集加载到应用程序目录中,并丢弃任何未实现该接口(interface)的程序集。

接口(interface)中的方法之一是 DoWork() 方法,该方法会定期在所有加载的程序集上调用,以执行插件可能具有的任何操作。

做插件系统的“正确”方法是什么?你只是为插件创建一个接口(interface)吗?您是否应该定期在所有插件中调用特定方法?有没有更高级的方法?

编辑:

感谢 Matt Hamilton 对 System.Addin 命名空间的引用。这很可能是我实现插件的方式。但是,总的来说,我仍然对插件架构感到好奇,并且不介意关于它们应该设计、实现的最佳方式的一些背景知识……一旦加载,你应该如何调用它们等等。

最佳答案

根据 this response 查看 System.AddIn 命名空间到一个类似的问题。

关于.net - 在您的应用程序中实现插件的设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/177140/

相关文章:

.net - TPL 数据流管道设计基础知识

c# - HttpClient.GetAsync(...) 在使用 await/async 时永远不会返回

Eclipse 代码格式化插件

c# - 重用 session 标识符

asp.net - ASP.Net 使用什么缓存算法?

php - 在继承层次结构中重载构造函数是否意味着需要组合?

具有相同数据结构的 C++ 类

android - Random() 方法有一些模式吗?

silverlight - 关于调试/工程需要在Firefox中运行的Silverlight应用程序的任何建议?

javascript - 插件加载其脚本但不应用