写点什么

托管扩展性框架发布 Preview 4 版本

  • 2009-02-12
  • 本文字数:952 字

    阅读完需:约 3 分钟

微软的

托管扩展性框架(Managed Extensibility Framework,MEF)是一个托管在CodePlex 上的开源(MS-PL).NET 应用程序组合框架。MEF 主要提供了两方面内容:一个插件模型和一个控制反转容器。

MEF 目前还处于开发阶段,alpha 版本,不过它的目标是使应用程序和组件能够尽可能的复用。这个想法使一个应用程序从“静态编译”转变为“动态组合”。传统的控制反转容器对于特定需求一般采用“向内关注”的模式,例如某个类需要一个日志记录器和一个事物上下文。而 MEF 更像一个插件提供者,“向外关注”于扩展点的释放。

  • 诊断功能上的增强——当组合错误发生时将提供更多的错误信息。
  • (创建期)生存策略的增强——导入器(Importer)能够为一个注入的对象请求一个特别的创建策略。现在,不能销毁(Non-disposable)且不共享的对象能够在容器销毁之前被垃圾收集器释放,之前的问题在于此类对象会被容器永久保留。
  • 去除 AllowNonPublicCompositionAttribute——私有和内部的成员现在同样允许注入。
  • 命名空间的清理——System.ComponentModel.Composition 中添加了两个新的命名空间:“.Hosting”和“.Primitives”。“Hosting 命名空间包含了托管应用程序时所需的常用类型,例如 ExportProvider、CompositionContainer 以及各种 Catalog。Primitives 命名空间包含了实现自定义编程模型的类型,例如 ComposablePart、ImportDefinition 和 ExportDefinition。”
  • 类型名的清理——许多类型名称被缩短了,这会造成破坏性的改变:
    • ComposablePartCatalog 及相关类型从 System.ComponentModel.Composition 移动至 System.ComponentModel.Composition.Primitives。
    • AttributedTypesPartCatalog 改名为 TypeCatalog
    • AttributedAssemblyPartCatalog 改名为 AssemblyCatalog
    • DirectoryPartCatalog 改名为 DirectoryCatalog
    • AggregatingComposablePartCatalog 改名为 AggregateCatalog
    • Catalog Caching 扩展 API 作了内部修改。
  • 更新了示例应用程序:
    • Meflook——类似 Outlook 的客户端
    • Meftris——类似俄罗斯方块的游戏,每种形状作为插件提供
    • Extensible File Explorer——文件浏览器,拥有可扩展的视图,收藏文件浏览器,以及 Shell 服务。

要使用托管扩展性框架进行开发需要.NET Framework 3.5 和 Visual Studio 2008。

查看英文原文: Managed Extensibility Framework Preview 4

2009-02-12 01:151530
用户头像

发布了 157 篇内容, 共 59.4 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

教育部-华为“智能基座”2.0正式启动,开创数智人才新生态

新消费日报

Nginx的HTTP模块与Stream模块:区别与应用场景

天翼云开发者社区

nginx Web 服务器

OpenAtom openEuler亮相2023欧洲开源峰会

开放原子开源基金会

为什么使用http代理要谨慎?动态ip地址和静态ip地址是什么意思?

巨量HTTP

http代理

F5为OpenTelemetry项目提供降本增效的技术支持

科技热闻

软件测试/测试开发丨利用人工智能ChatGPT自动生成PPT

测试人

人工智能 软件测试 PPT ChatGPT

预训练深度双向Transformer语言模型

百度开发者中心

自然语言处理 #人工智能 千帆大模型平台

深度理解自然语言处理的强大工具

百度开发者中心

自然语言处理 #人工智能 生成式AI

HarmonyOS 4.0 实况窗上线!支付宝实现医疗场景智能提醒

HarmonyOS SDK

huawei HarmonyOS

为什么你的自动化测试无法落地

老张

自动化测试

低代码引擎 TinyEngine 正式发布!

Kagol

开源 前端 低代码

噢耶!字节后端Offer,拿到了!

王中阳Go

Go 面试题 面经 校招 大厂面经

深度学习之“智能标注”

矩视智能

深度学习 机器视觉

筑牢网络安全防线,天翼云签署《云计算服务安全自律公约》!

天翼云开发者社区

云计算 安全

自然语言处理的强大工具

百度开发者中心

自然语言处理 #人工智能 千帆大模型平台

一文带你实现云上部署轻量化定制表单Docker

华为云开发者联盟

开源 云原生 华为云 华为云开发者联盟 企业号9月PK榜

开源项目专访 | XuperCore——让信任的链接更加便捷

开放原子开源基金会

托管扩展性框架发布Preview 4版本_.NET_Al Tenhundfeld_InfoQ精选文章