[发明专利]一种实现软件产品客户化的方法及设备有效
申请号: | 201110436019.7 | 申请日: | 2011-12-22 |
公开(公告)号: | CN103176781A | 公开(公告)日: | 2013-06-26 |
发明(设计)人: | 高峰;朱峰;徐卫东 | 申请(专利权)人: | 北京东方广视科技股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/445 |
代理公司: | 北京润平知识产权代理有限公司 11283 | 代理人: | 肖冰滨;南毅宁 |
地址: | 102206 北京市昌平*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 软件产品 客户 方法 设备 | ||
技术领域
本发明涉及JAVA技术领域,具体地,涉及一种实现软件产品客户化的方法及设备。
背景技术
在软件开发过程中,软件开发企业总是倾向于产品化的开发方法,这样可以有效减少开发测试的时间,降低开发成本,加快开发速度。但软件产品应用于具体的客户时,并不能完全满足客户的要求,客户总是会提出各种个性化的需求。为了实现客户化需求,在一般的开发方案中一般有如下的解决办法:
(1)对于需要客户化的部分复制出多个版本,然后通过配置参数来解决不同客户的需要,同时还能只维护一个产品序列。这种方法往往随着客户的增加使产品代码的复杂性成倍增加。
(2)通过良好的设计模式,在设计产品时尽可能的考虑客户的各种需求,引导客户采用自己的方式来实现。这种方法要求软件企业对领域模型具备非常强的理解。
另外,在基于类似HIBERNATE的框架开发时,类似数据库映射的文件不容易被动态替换。
发明内容
本发明的目的是提供一种实现软件产品客户化的方法及设备,其可实现软件产品零耦合地客户化。
为了实现上述目的,本发明提供一种实现软件产品客户化的方法,该方法包括:接收对第一包内的一类文件进行加载的请求;以及在客户包内搜索所述类文件,并执行以下操作中的至少一者:如果所述客户包内不存在所述类文件,则使用所述第一包内的类文件创建类对象;及如果所述客户包内存在所述类文件,则判断该类文件是否支持动态代理,如果支持,则使用该类文件创建动态代理类文件,并使用该动态代理类文件创建类对象;及如果不支持,则对该类文件进行字节码级的签名修改,并使用修改之后的类文件创建类对象。
相应地,本发明还提供一种实现软件产品客户化的设备,该设备包括:接收装置,用于接收对第一包内的一类文件进行加载的请求;以及类加载器,用于在客户包内搜索所述类文件,并执行以下操作中的至少一者:如果所述客户包内不存在所述类文件,则使用所述第一包内的类文件创建类对象;及如果所述客户包内存在所述类文件,则判断该类文件是否支持动态代理,如果支持,则使用该类文件创建动态代理类文件,并使用该动态代理类文件创建类对象;及如果不支持,则对该类文件进行字节码级的签名修改,并使用修改之后的类文件创建类对象。
通过上述技术方案,对软件产品的类文件加载过程进行监控,在加载类文件时,检查该类文件是否存在对应的客户化类文件,如果存在,则通过动态代理机制或动态更改类字节码的方式来替换软件产品的类文件,实现客户化类文件的加载。藉此,软件产品中的其他类并不知道某个类文件是从其他客户包中引入的,从而实现了零耦合地客户化类文件的动态加载。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1为本发明提供的实现软件产品客户化的方法的流程图;以及
图2为本发明提供的实现软件产品客户化的方法的另一实施方式的流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
图1为本发明提供的实现软件产品客户化的方法的流程图。如图1所示,本发明提供了一种实现软件产品客户化的方法,该方法包括:接收对第一包内的一类文件进行加载的请求;以及在客户包内搜索所述类文件,并执行以下操作中的至少一者:如果所述客户包内不存在所述类文件,则使用所述第一包内的类文件创建类对象;及如果所述客户包内存在所述类文件,则判断该类文件是否支持动态代理,如果支持,则使用该类文件创建动态代理类文件,并使用该动态代理类文件创建类对象;及如果不支持,则对该类文件进行字节码级的签名修改,并使用修改之后的类文件创建类对象。藉此,可实现零耦合地客户化类文件的动态加载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京东方广视科技股份有限公司,未经北京东方广视科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110436019.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种便于把持的拖车球头
- 下一篇:带有螺旋卸胎结构的防爆胎扎胎轮毂