[发明专利]多个运行时容器共享的值解析有效
申请号: | 200980152752.7 | 申请日: | 2009-12-11 |
公开(公告)号: | CN102257474A | 公开(公告)日: | 2011-11-23 |
发明(设计)人: | D·罗森 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F9/06 | 分类号: | G06F9/06;G06F9/44 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 张欣 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运行 容器 共享 解析 | ||
背景技术
软件应用程序的功能可由开发者通过代码扩展,该代码在软件运行前被定义为软件的一部分。例如,软件开发经常包括编写源代码,将源代码编译成可执行机器代码或虚拟机代码,以及将编译结果链接或者以其它方式绑定至先前创建的代码。这种扩展在编译时发生。
一些体系结构允许应用程序的功能在终端用户运行该应用程序时扩展。例如,一些应用程序支持插件,这些插件是可由应用程序(或以其名义)在运行时加载的相对较小的应用程序专用软件。插件增强了应用程序,而不是独立运行。插件是可选的,因为即使没有插件应用程序也提供基本功能。插件是应用程序专用的,被设计和实现以与特定应用程序一起操作,并且有时甚至与该应用程序的特定版本一起操作。每个应用程序提供它自己的基础结构用于定位和使用它所支持的插件。
托管(managed)可扩展性框架允许应用程序在支持不同应用程序间共享功能的基础结构中在运行时给予和接收软件功能以及应用程序专用扩展。这种应用程序被称为“可扩展的”。托管可扩展性框架的基础结构提供使应用程序基于签名和/或与扩展和应用程序相关联的其它数据类型信息从而定位和加载可用扩展的机制。
发明内容
一些实施例在可扩展应用程序环境中提供用于在组合容器间共享值的策略和服务。每个组合容器具有相应的值解析器(value resolver)。值解析器服务从具有值解析策略的值解析器接收值解析请求,并且试图标识具有兼容的值解析策略的其它值解析器。值解析策略指定在值解析期间搜索组合容器的次序,以及在值解析期间在组合容器之间共享值的可见性;可见性和次序可各自依赖于组合容器范围。值解析器服务查询其值解析策略与请求值解析器的值解析策略兼容的值解析器。如果值解析请求寻找多个经解析的值,那么值解析器服务可提供它所接收的作为查询响应的多个经解析的值的聚集集合。如果值解析器不能提供值,那么值解析器服务可调用单次使用故障处理器(handler)。
所给出的示例只是说明性的。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。相反地,提供本发明内容是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。利用权利要求书定义本发明,在本发明内容与权利要求书有冲突的情况下,应该以权利要求书为准。
附图说明
将参考附图给出更具体的描述。这些附图只示出了选定的方面,且因此不完全确定覆盖或范围。
图1是示出在操作环境中具有处理器、存储器、具有相应的值解析器的至少两个组合容器、以及其它项的计算机系统并且还示出经配置的存储介质实施例的框图;
图2是进一步示出值解析策略和其它值解析机制的框图;
图3是示出一示例体系结构中的值解析的数据流程图;
图4是示出标识符范围的图表;
图5是进一步示出值解析上下文中的范围的图表;以及
图6是示出一些方法的步骤和经配置的存储介质的实施例的流程图。
详细描述
概览
可扩展应用程序环境可包括在彼此之间导入/导出值的组合容器。在一些可扩展应用程序环境中,导入/导出遵循严格的父-子模型,例如,子容器可从父容器导入,反之则不然,并且缺少公共祖先的容器不能共享值。
微软提供被称为“MEF”(“托管可扩展性框架”)的可扩展应用程序环境。MEF提供运行时可扩展性而不在应用程序上施加插件模型。MEF允许主应用程序展示它自己的扩展以及使用外部扩展。扩展可在不同应用程序间重用,并且还可被实现为应用程序专用的。扩展可相互依赖;MEF基于类型以及其它约束自动连接扩展。MEF提供用于使应用程序定位和加载可用扩展的发现机制。MEF还支持用元数据标记扩展,这便于查询和过滤。
MEF的核心构造包括目录和组合容器。目录负责发现扩展,而组合容器则协调项目创建和满足依赖性。在MEF中,可组合部件贡献一个或多个导出,并且还可依赖于一个或多个外部提供的服务或其它导入。可组合部件还管理实例,该实例可以是给定类型的对象实例。MEF是可扩展的;可提供附加的可组合部件实现,只要它们遵循指定的导入/导出契约。契约是导出和导入之间的桥梁。导出契约可包括可用于对导出发现进行过滤(例如通过指示由导出所提供的专用能力)的元数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200980152752.7/2.html,转载请声明来源钻瓜专利网。