首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实现插件/插件/插件策略的最佳实践

实现插件/插件/插件策略的最佳实践
EN

Stack Overflow用户
提问于 2010-07-25 21:47:30
回答 3查看 1.7K关注 0票数 5

我的应用程序应该是可扩展的。为了满足我自己的需求,我实现了一些服务。这些服务是基于IoC/DI原则的。因此,服务封装了应用程序的概念。

对于exsample,有一个IApplicationService。ApplicationService显示有关当前执行应用程序的信息。有指定的AssemblyInfo等等。另一个示例是INavigationService(请参阅示例中的mef.codeplexcom )。此服务提供一些属性,其中包含有关指定的当前选定项的信息以及一些事件。

我认为,“服务方法”是最简单的,并且简化了应用程序的扩展点。因此,我不确定这是否真的是最好的方法。你认为如何?你如何在像addins/addons/plugins这样的应用程序中实现“扩展点”呢?

提前感谢您的回复!对不起,我的英语很差。;)

EN

回答 3

Stack Overflow用户

发布于 2010-07-25 21:49:37

您熟悉MEF (托管扩展框架)吗?

托管可扩展性框架(简称MEF )简化了可扩展应用程序的创建。MEF提供了发现和组合功能,您可以利用它们来加载应用程序扩展。

票数 4
EN

Stack Overflow用户

发布于 2010-07-25 21:50:20

你真的需要看看MEF --托管扩展框架。

  • Managed Extensibility Framework Overview
  • Building Composable Apps in .NET 4 with the Managed Extensibility Framework
  • MEF on Codeplex

这是一个很棒的新框架,微软自己在Visual Studio2010中使用了它的可扩展性故事。伟大且易于使用-当你可以使用成千上万的开发人员很快就会使用的东西时,为什么要重新发明轮子呢?

票数 2
EN

Stack Overflow用户

发布于 2010-07-25 22:09:33

是的,我对MEF很熟悉。我也使用了MEF的概念,但有一些缺点。我的应用程序类似于IoC/DI,与MEF一起使用有点复杂。MEF不是真正的DI容器,所以要将MEF与其他DI容器一起使用(例如,ninject,unity,...)很难实现这一点。我不会将MEF与其他DI容器一起使用。因此,将MEF与其他DI容器混合在一起并不是很好。

我希望你能理解我的担忧。

另外:在MEF中不能将扩展加载到AppDomain中。所以这是为了我的需求不好。System.AddIn或MAF支持这一点,但我不会使用System.AddIn,因为它非常重...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3329399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档