【技术实现步骤摘要】
在动态链接的运行时环境中的模块化共同版本管理
[0001]本申请是申请号为201680002397.5、申请日为2016年2月10日、专利技术名称为“在动态链接的运行时环境中的模块化共同版本管理”的专利技术专利申请的分案申请。
技术介绍
[0002]第三方库和框架一般需要支持一定范围的软件平台版本,通常向前追溯若干个版本。这往往意味着开发者常常并没有利用软件平台的较新版本中可用的特征,因为常常难以表达条件化的平台依赖性(即,反映性地测验和激活可能并没有出现在所有支持的平台版本中的方法)。作为替代,为了支持不同的底层平台版本而分发多个库版本可能是昂贵的(例如,在开发时间和分发媒介方面)。这会为库和框架开发者使用新特征带来阻碍,进而可能成为用户升级到新平台版本的阻碍,这本身又为开发者支持较新平台版本的特征带来阻碍——从而形成了可能妨碍新特征的采用和改进的循环。
[0003]软件平台一般以向后兼容的方式进行版本管理,使得较旧的应用能在较新的平台版本上运行。但是,软件库常常依赖于底层平台的某个版本。因此,库开发者一方面可能希望让库在较旧的平台 ...
【技术保护点】
【技术特征摘要】
1.一种计算设备,包括:处理器;以及存储器,所述存储器耦接到所述处理器,其中所述存储器包括程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行:执行运行时环境内的运行时模块;由所述运行时模块在运行时从运行时可链接的多版本库中加载类,其中所述多版本库被配置为包括类的多个版本,其中,相应类的所有版本对应于用于所述相应类的相同的类签名;其中,所述运行时模块被配置为默认加载所述类的默认版本;以及其中所述加载类包括从所述多版本库中加载所述类的特定版本而非所述类的所述默认版本,所述类的所述特定版本与所述运行时环境的特定版本相关联,其中所述类的所述特定版本不同于所述类的所述默认版本。2.如权利要求1所述的计算设备,其中所述加载还包括至少部分基于被指示的对于所述特定版本而非所述默认版本的偏好来加载所述类的所述特定版本而非所述类的所述默认版本。3.如权利要求2所述的计算设备,其中所述程序指令还使得所述处理器执行至少部分基于以下项中的一者或多者来确定被指示的偏好:对与所述运行时模块相关联的API的一个或多个方法的程序性调用,全局变量,系统变量,或环境变量。4.如权利要求1所述的计算设备,其中所述加载还包括至少部分基于指示所述运行时模块应当忽略所述类的所述默认版本的用户偏好来加载所述类的所述特定版本而非所述类的所述默认版本。5.如权利要求1所述的计算设备,其中所述程序指令还使得所述处理器执行确定所述多版本库是否包括所述类的所述特定版本,其中所述加载是响应于确定所述多版本库确实包括所述类的所述特定版本而被执行的。6.如权利要求5所述的计算设备,其中所述确定所述多版本库是否包括所述类的所述特定版本是在不考虑所述多版本库内所述类的与所述运行时环境的后续版本相关联的另一版本的存在的情况下被执行的,其中所述运行时环境的所述后续版本按照运行时环境版本的预定义顺序发生在所述运行时环境的所述特定版本之后。7.如权利要求1所述的计算设备,其中为了加载所述类的所述特定版本,所述程序指令还使得所述处理器执行从所述多版本库的文件夹中加载所述类的所述特定版本,其中所述文件夹被配置为存储多个类的版...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。