0

我有以下插件接口:

public interface IPlugin
{
    IInitializedPlugin Initialize(PluginInitialization pluginInitialization);
}

应用程序可以获取IPlugin实例(在这种情况下从 IOC 容器),但要获取IInitializedPlugin实例,它必须调用Initialize方法。PluginInitialization结构简单,带有插件配置。然后IInitializedPlugin具有实际的插件功能。如何改进这种设计?

4

1 回答 1

0

好吧,您的设计肯定可以工作,PRISM (Microsoft 的桌面应用程序框架)使用类似的方法来初始化模块,但是如果您使用 .NET 进行开发,我会考虑为此使用MEF (托管可扩展性框架),因为使用某个 IoC 容器将插件与该特定容器耦合,您可以通过阅读本文中Mark Seemann的第四评论来了解更多信息。

于 2013-06-22T23:20:26.900 回答