为您的应用程序允许和实现插件系统的标准方法是什么?
在我的上一个应用程序中,我为它们必须实现的所有插件创建了一个简单的接口。然后,我将所有程序集加载到应用程序目录中,并丢弃任何未实现该接口的程序集。
接口中的方法之一是 DoWork() 方法,该方法会定期在所有加载的程序集上调用,以执行插件可能具有的任何操作。
做插件系统的“正确”方法是什么?你只是为插件创建一个接口吗?您是否应该定期在所有插件中调用特定方法?有没有更高级的方法?
编辑:
感谢 Matt Hamilton 对 System.Addin 命名空间的引用。这很可能是我实现插件的方式。但是,总的来说,我仍然对插件架构感到好奇,并且不介意关于它们应该设计、实现的最佳方式的一些背景知识……一旦加载,你应该如何调用它们等等。