插件接口上的初始化方法
本文关键字:初始化 方法 接口 插件 | 更新日期: 2023-09-27 18:19:25
我有以下插件接口:
public interface IPlugin
{
IInitializedPlugin Initialize(PluginInitialization pluginInitialization);
}
应用程序可以获得IPlugin
实例(在这种情况下从IOC容器),但要获得IInitializedPlugin
实例,它必须调用Initialize
方法。PluginInitialization
结构简单,可配置插件。然后IInitializedPlugin
具有实际的插件功能。如何改进这个设计?
你的设计肯定可以工作,PRISM (微软桌面应用程序框架)使用类似的方法来初始化模块,然而,如果你正在使用。net进行开发,我会考虑使用MEF (托管可扩展性框架)来实现这一点,因为使用特定的IoC容器会将插件与特定的容器耦合,您可以通过阅读Mark Seemann在这篇文章中的第四条评论了解更多。