MEF 是关于 UI 的吗? 如果不是,为什么所有的例子都是关于 GUI 组合的?
MEF团队一直说这是关于插件模型的。 那么,我们是在谈论 UI 插件吗? 我们如何在非 UI 代码中使用这些东西? 我下载了代码,示例都是关于 GUI 的。 难道是我猜错了?
The MEF team keep saying it is about plug-in model. So, are we talking about UI plugins? How can we use this stuff in non-UI code?
I downloaded the code and the examples are all about GUI. Am I guessing it wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
Ilya
MEF 绝对不仅仅适用于 UI。 MEF 不依赖于 UI,这就是它位于 System.ComponentModel 命名空间中的原因。 您可以在桌面应用程序、Web 应用程序或服务中使用 MEF。
在样品方面,感谢您的反馈。 我们确实需要更好的示例来说明它是一种非基于 UI 的技术。 我认为许多示例都偏向 UI 的原因是我们的主要合作伙伴(例如 Visual Studio)正在桌面应用程序中使用 MEF。 我将与团队讨论一些非基于 UI 的示例。
谢谢
格伦
Ilya
MEF is absolutely not only for UI. Nothing about MEF is UI-dependent, which is why it lives in the System.ComponentModel namespace. You can use MEF in desktop apps, web apps, or services.
In terms of samples, thank you for the feedback. We do need better samples that illustrate that it is a non-UI based technology. I think the reason alot of the samples have gravitated around UI is that our chief partners like Visual Studio, are using MEF in desktop apps. I'll talk to the team about some non-UI based samples.
Thanks
Glenn
Ayende 在这里很好地总结了 MEF:
http: //ayende.com/Blog/archive/2008/09/25/the-management-extensibility-framework.aspx
另外,群聚代码小伙子们对 MS MEF 成员之一 Glenn Block 进行了一次精彩的采访:
< a href="http://herdingcode.com/?p=28" rel="nofollow noreferrer">http://herdingcode.com/?p=28
http://herdingcode.com/?p=31
Ayende sums up MEF rather nicely here:
http://ayende.com/Blog/archive/2008/09/25/the-managed-extensibility-framework.aspx
Also the herding code lads had a great interview with Glenn Block, one of the MS MEF guys:
http://herdingcode.com/?p=28
http://herdingcode.com/?p=31
如果您谈论的是 Microsoft 托管扩展性框架,那么不,它绝对不仅仅是关于 UI。
通过在示例中做一些可视化的事情,您可以让人们更容易理解这个概念。 你再清楚不过了,带有插件的俄罗斯方块游戏。
If you're talking about Microsoft Managed Extensibility Framework then no, it's definitely not just about UI.
By doing something visual in the samples you just make it easier for people to understand the concept. You could not make it clearer that an Tetris game with plug-in blocks.
MEF 似乎更多的是关于扩展应用程序的功能。 在我们的应用程序中,我们一直在研究 MEF 是否允许用户使用不同版本的评级引擎。 这些模块没有 UI。 它可以添加 UI 功能,但这不是必需的。
MEF seems to be more about extending your application's functionality. In our applications we've been looking at MEF for allowing users to use different editions of a rating engine. There's no UI for those modules. It can add UI features, but it's not necessary.
棱镜可能值得注意。 MEF 可用于定义导入/导出任意合约的组件,而 Prism 可用于在解耦 UI 应用程序中定义 UI 区域。
Prism might be worth noticing. MEF can be used to define components that import / export arbitrary contracts while Prism can be used to define UI regions in a decupled UI app.