写点什么

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

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

关注

评论

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

一次投入,多倍回报,英特尔vPro驱动全新商用AI PC

E科讯

HFT算力合约模式系统开发丨技术详情开发

l8l259l3365

揭秘「 B 站最火的 RAG 应用」是如何炼成的

Zilliz

AI Milvus Zilliz LLM rag

WiMinet 评说1.1:多跳无线网络的现状

Geek_ab1536

Sora,数据驱动的物理引擎

澳鹏Appen

人工智能 生成式AI sora 文生视频 视频标注

WiMinet 评说1.2:多跳无线网络的困境

Geek_ab1536

WiMinet 评说1.3:模拟式UDP中继技术缺陷

Geek_ab1536

深入解析Python并发编程的多线程和异步编程

不在线第一只蜗牛

Python 多线程 代码 并发

SD-WAN助力企业数据传输安全

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

如何利用Allure报告提升你的测试效率?

霍格沃兹测试开发学社

2024-02-28:用go语言,有一个由x轴和y轴组成的坐标系, “y下“和“y上“表示一条无限延伸的道路,“y下“表示这个道路的下限,“y上“表示这个道路的上限, 给定一批长方形,每一个长方形有(

福大大架构师每日一题

福大大架构师每日一题

欢迎参与2024年 OpenTiny 开源项目用户调研

OpenTiny社区

开源 前端 低代码 组件库

“课-训-赛”育人才!南开大学闫晓玉老师分享Python实战类课程的教学经历

ModelWhale

Python 人才培养 数据科学 教学

从 0 到 1 搭建亿级商品 ES 搜索引擎

字节跳动云原生计算

云原生 ES 云搜索

测试开发名企定向培养训练营,快速提升核心竞争力!

霍格沃兹测试开发学社

MES系统中的手动排产和自动排产-助力生产效率

万界星空科技

制造业 mes 万界星空科技 生产管理 自动排班

超越传统:人工智能赋能加持下的自动化测试

霍格沃兹测试开发学社

国内行业桌面云解决方案哪家比较强?

青椒云云电脑

桌面云 云桌面 云桌面方案

如何生成速卖通平台的API密钥?

技术冰糖葫芦

API 接口

拼多多API助力商家提升销售效果和市场竞争力

技术冰糖葫芦

API 接口

为什么您的网站需要美国主机CDN加速?一文解答所有疑问

一只扑棱蛾子

美国主机

英特尔锐炫新旧驱动对比测评:新老游戏全方位进化!

E科讯

一文告诉你到底什么是低代码?

秃头小帅oi

揭秘商品计划管理系统:鞋服品牌如何实现飞跃式增长?

第七在线

如何做代币分析:以 USDT 币为例

Footprint Analytics

blockchain defi

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