Closed. This question needs to be more focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅关注editing this post的一个问题。
1年前关闭。
Improve this question
允许和实现应用程序插件系统的标准方法是什么?
在上一个应用程序中,我为必须执行的所有插件创建了一个简单的界面。然后,我将所有程序集加载到apps目录中,并丢弃所有未实现该接口(interface)的程序集。
接口(interface)中的方法之一是DoWork()方法,该方法会在所有已加载的程序集中定期调用以执行插件可能具有的任何操作。
做插件系统的“正确”方法是什么?您是否只是为插件创建接口(interface)?您是否应该在所有插件中定期调用特定方法?有没有更复杂的方法?
编辑:
谢谢Matt Hamilton对System.Addin命名空间的引用。这很可能是我实现插件的方式。但是,我总体上仍然对插件体系结构感到好奇,并且不介意应该设计,实现它们的最佳方式的一些背景知识。加载后如何调用它们等等。
想改善这个问题吗?更新问题,使其仅关注editing this post的一个问题。
1年前关闭。
Improve this question
允许和实现应用程序插件系统的标准方法是什么?
在上一个应用程序中,我为必须执行的所有插件创建了一个简单的界面。然后,我将所有程序集加载到apps目录中,并丢弃所有未实现该接口(interface)的程序集。
接口(interface)中的方法之一是DoWork()方法,该方法会在所有已加载的程序集中定期调用以执行插件可能具有的任何操作。
做插件系统的“正确”方法是什么?您是否只是为插件创建接口(interface)?您是否应该在所有插件中定期调用特定方法?有没有更复杂的方法?
编辑:
谢谢Matt Hamilton对System.Addin命名空间的引用。这很可能是我实现插件的方式。但是,我总体上仍然对插件体系结构感到好奇,并且不介意应该设计,实现它们的最佳方式的一些背景知识。加载后如何调用它们等等。
最佳答案
根据this response来检查System.AddIn命名空间,以类似的问题。
09-17 02:40