[发明专利]一种单例对象创建方法、系统及装置在审
| 申请号: | 201810830968.5 | 申请日: | 2018-07-26 |
| 公开(公告)号: | CN109284094A | 公开(公告)日: | 2019-01-29 |
| 发明(设计)人: | 陈璐 | 申请(专利权)人: | 无锡天脉聚源传媒科技有限公司 |
| 主分类号: | G06F8/30 | 分类号: | G06F8/30 |
| 代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 谭英强 |
| 地址: | 214000 江苏省无锡市无锡*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 实例变量 对象创建 系统及装置 创建模块 获取模块 对象池 计算机技术领域 程序启动 对象获取 工作效率 存储器 初始化 处理器 比对 应用 | ||
本发明公开了一种单例对象创建方法、系统及装置,方法包括:创建模块和对象池,并在模块内定义实例变量的生成方法;根据实例变量的生成方法,获取类的完全限定名;通过对象池对类的完全限定名进行比对,获取实例变量;根据实例变量,获取单例对象;系统包括创建模块、类名获取模块、实例变量获取模块和单例对象获取模块;装置包括存储器和处理器。本发明仅需要根据类的完全限定名,就能得到对应的实例变量,最终得到单例对象,相较于现有的单例对象创建方法,本发明无需在程序启动阶段就对所有单例对象进行逐一初始化,而仅在需要时获取到单例对象,大大提高了工作效率,可广泛应用于计算机技术领域。
技术领域
本发明涉及计算机技术领域,尤其是一种单例对象创建方法、系统及装置。
背景技术
白鹭引擎是一个基于TypeScript语言开发的HTML5游戏引擎,而在使用白鹭引擎开发游戏时,单例对象的创建一般采用以下两种方法:1、在跳转页面时,分别为每一个跳转页面创建一个单例对象,通过直接调用类的静态属性来获取唯一目标页面;2、通过创建对象池的方法来创建和获取页面单例对象。但是上述两种单例对象的创建方法存在以下缺点:所有创建好的单例对象需要在程序启动阶段就逐一进行初始化,对于页面数量比较多的游戏,这种逐一初始化的方式导致工作效率较低,使得页面跳转速度较慢。
发明内容
为解决上述技术问题,本发明的目的在于:提供一种效率高的单例对象创建方法、系统及装置。
本发明所采取的第一技术方案是:
一种单例对象创建方法,包括以下步骤:
创建模块和对象池,并在模块内定义实例变量的生成方法;
根据实例变量的生成方法,获取类的完全限定名;
通过对象池对类的完全限定名进行比对,获取实例变量;
根据实例变量,获取单例对象。
进一步,所述实例变量以键值对的形式存储于对象池中。
进一步,所述实例变量具有唯一性。
进一步,所述根据实例变量的生成方法,获取类的完全限定名这一步骤,包括以下步骤:
动态获取类的类型;
根据类的类型,获取类的完全限定名。
进一步,所述通过对象池对类的完全限定名进行比对,获取实例变量这一步骤,包括以下步骤:
根据类的完全限定名,获取类的对象;
根据类的对象,在对象池中进行查找操作,获取实例变量。
进一步,所述根据类的对象,在对象池中进行查找操作,获取实例变量这一步骤,其具体为:
根据类的对象,判断对象池中是否存有相同对象的实例变量,若是,则直接获取对象池中的实例变量;反之,则通过反射机制来创建新的实例变量。
进一步,所述通过反射机制来创建新的实例变量这一步骤,包括以下步骤:
创建新的实例变量;
判断新创建的实例变量是否满足预设的页面场景切换要求,若是,则将新创建的实例变量保存在对象池中;反之,则返回创建新的实例变量这一步骤。
本发明所采取的第二技术方案是:
一种单例对象创建系统,包括:
创建模块,用于创建模块和对象池,并在模块内定义实例变量的生成方法;
类名获取模块,用于根据实例变量的生成方法,获取类的完全限定名;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡天脉聚源传媒科技有限公司,未经无锡天脉聚源传媒科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810830968.5/2.html,转载请声明来源钻瓜专利网。





