写点什么

托管扩展性框架发布 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:151702
用户头像

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

关注

评论

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

AI Agent 运行时相比传统应用有什么不同:百家企业 AI 实践观察(二)

阿里巴巴云原生

阿里云 云原生 AI Agent

让“创意即成片”成为现实!北电数智星火·长缨AIGC平台首秀WAIC

Lily

演唱会什么时候成了手机赛点?

脑极体

AI

UI总改版?这个自我修复的AI测试神器让团队告别深夜紧急回滚

测吧(北京)科技有限公司

人工智能 软件测试 智能体 测试开发 UI自动化

重塑应用搜索体验,系统级入口功能一步直达

HarmonyOS SDK

HarmonyOS NEXT HarmonyOS SDK应用服务

提示工程:大语言模型的新特征工程

qife122

自然语言处理 大语言模型

打破传统考试桎梏,引领考试管理新变革

大东(AIP智能体运营专员)

智能教育

出题适当,AIP智能体平台助力差异化教学

大东(AIP智能体运营专员)

教育未来

高压电线电力巡检六类图像识别数据集(2000张图片已划分、已标注)

申公豹

人工智能 数据集

Web3 项目外包开发的项目管理

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

MyEMS开源能源管理系统核心代码解读021

开源能源管理系统

开源 代码解读 能源管理系统

MyEMS开源能源管理系统核心代码解读023

开源能源管理系统

开源 代码解读 能源管理系统

10分钟无痛部署!字节Coze开源版喂饭教程

测吧(北京)科技有限公司

人工智能 软件测试 自动化测试 测试开发 Coze开源

重塑考试培训流程,这款平台让组卷阅卷不再难

大东(AIP智能体运营专员)

智能教育 智能考试 aip智能体

群聊记录太多怎么办? 用 TRAE + Chatlog MCP 实现微信群聊记录总结

Lily

AI Agent实战手册:如何用混合模式快速部署企业级智能应用?

聚客AI学院

人工智能 LLM AI Agent MCP MCP Server

Prime Video如何将时间序列异常转化为可操作警报

qife122

机器学习 时间序列

Java volatile 关键字到底是什么|得物技术

得物技术

后端 Jav

TRAE + Milvus MCP,现在用自然语言就能搞定向量数据库部署了!

Lily

区块链U卡 APP 的开发流程

北京木奇移动技术有限公司

区块链开发 软件外包公司 U卡APP

行业分享丨从工具应用到体系进化:东风商用车仿真体系建设与实践

Altair RapidMiner

人工智能 数据分析 汽车 仿真 CAE

内网聊天软件:BeeWorks私有化IM,保障企业数据绝对安全

BeeWorks

即时通讯 IM 私有化部署

「中科类脑」正式加入 Karmada 用户组!携手社区共建多集群生态

华为云原生团队

云计算 容器 云原生

JetBrains TRAE 插件上线 cue 能力,立即体验

Lily

[VLDB 2025]面向云计算平台的多模态慢查询根因排序

阿里云大数据AI技术

人工智能 大数据 数据处理 慢查询 多模态

MyEMS开源能源管理系统核心代码解读022

开源能源管理系统

开源 代码解读 能源管理系统

为什么公司规模越来越大,效率却越来越低?

禅道项目管理

企业管理 项目管理软件 项目过程裁剪

企业内部通讯:BeeWorks私有化平台,让协作更高效、更安全

BeeWorks

即时通讯 IM 私有化部署

PPIO亮相WAIC 2025,重磅推出国内首个Agentic AI基础设施服务平台

Lily

商汤大装置发布基于DeepLink的异构混合调度方案,加速国产算力从“可用”迈向“好用”

Lily

Web3 项目外包开发的代码管理

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

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