[发明专利]一种通过配置在运行时动态创建对象实例方法无效
申请号: | 201110175797.5 | 申请日: | 2011-06-28 |
公开(公告)号: | CN102393817A | 公开(公告)日: | 2012-03-28 |
发明(设计)人: | 杜正涛 | 申请(专利权)人: | 浪潮集团山东通用软件有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 配置 运行 动态 创建 对象 实例 方法 | ||
技术领域
本发明涉及一种计算机技术,具体地说是一种通过配置在运行时动态创建对象实例方法。
背景技术
目前企业级应用系统大多采用三层或者多层应用模式。而大多数企业级应用系统都选择了面向对象的编程技术。所谓“对象”就是一个或一组数据以及处理这些数据的方法和过程的集合。对象的产生有两种基本方式。一种是以原型(prototype)对象为基础产生新的对象。一种是以类(class)为基础产生新对象。而为了方便开发、部署、运行和管理基于多层架构的应用,需要依据不同语言的特性构建一个完整的应用框架。而对象的实现以及实例化就是这个框架中必不可少的部分。面向对象编程原则中有一条非常重要的原则就是面向接口编程而不面向其他什么编程。
当前对象的实例化往往是在程序需要某个对象时创建对象实例,在不同的地方多次创建不同对象实例。并且是在程序编译时创建的,这样就导致系统在运行阶段如果需要扩展功能,就必须重新编译系统添加扩展的内容。并且对于接口编程的实现往往需要在创建接口时针对某以实现创建接口。比如接口IA通过A类实现,那么在创建接口时就要通过A实现。而当我们发现接口IA提供的业务实现发生很大变化时,我们需要替换IA实现类A为B类。当前编程实现往往需要重新查找这些实现并替换为B。很显然以上对象实例的实现以及接口编程方法大大限制了程序的扩展功能,增大了编程复杂度,降低了开发效率。
因此本领域技术人员迫切需要发展一种高效的、易于扩展的对象实例创建及接口编程方法,减少编程的复杂度提高开发效率。
发明内容
本发明的技术任务是针对上述现有技术的不足,提供一种通过配置在运行时动态创建对象实例方法。该方法解决了程序运行时扩展及编程复杂度问题,并提高了编程的效率。
本发明以控制反转(IOC)容器保证上述方法的实现与应用。
本发明的技术任务是按以下方式实现的:一种通过配置在运行时动态创建对象实例方法,包括:
生成控制反转容器,并能通过DLL创建实例;
读取配置文件信息,并能根据配置信息加载对象;
敏捷实现接口编程;
实现面向接口编程与创建对象的融合;
当程序执行时,能够通过配置文件配置对象信息创建对象实例。
所述控制反转(IOC)容器通过反射、泛型技术实现。
所述配置文件信息配置了实体对象、业务对象、数据访问对象程序集信息。
配置文件信息中明确了业务对象所包含的数据对象,亦即实现业务对象所需要的数据对象支持。
通过调用不同的创建方法,创建不同的对象实例,如果是DAO(数据逻辑对象)则创建数据对象实例;如果是SERVICE(业务逻辑)则创建业务对象实例,并判断该业务逻辑对应的数据对象创建数据对象实例。
在运行时读取配置文件信息,并读取程序集信息,动态创建对象实例。
与现有技术相比,本发明通过改变以往创建实例的方法,即通过配置文件配置出实体、业务、数据对象以及各对象之间的关系,通过反射、泛型等先进技术实现IOC容器,进而在系统运行时创建所需的对象实例,并切只创建一次数据对象实例,从而减少了创建对象实例的次数,节省了内存;并为系统扩展提供了运行时扩展的方法,以及统一了创建实例的方式;提高了编程效率;统一了接口实现,降低了面向接口编程的复杂度。具体地说,本发明方法具有以下突出的有益效果:
1、 通过IOC容器统一了接口实现的方式,降低了面向接口编程的复杂度;
2、 统一了对象实例创建、动态创建的方法;
3、 对实体类、业务逻辑类、数据处理类分别处理;
4、 提供系统扩展便利方式;
5、 将创建对象实例与接编程融合在一起,对象实例创建、接口编程实现方式唯一并统一;
6、 通过配置信息明确各程序集之间的关联关系;
7、 本技术实现简单,无特殊保密算法;调用实现简单易用;降低了编程的复杂度,进而提高了编程的效率。
附图说明
附图1是本发明通过配置在运行时动态创建对象实例方法的实现框架结构图;
附图2是使用本发明方法的一个调用实现流程图。
具体实施方式
参照说明书附图以具体实施例对本发明的通过配置在运行时动态创建对象实例方法作以下详细地说明。
本发明方法适用于C#程序的对象实例创建及面向接口编程实现。其具体实现方式如附图1所示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团山东通用软件有限公司,未经浪潮集团山东通用软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110175797.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多功能加热装置
- 下一篇:包括具有低电压读/写操作的存储器的集成电路