单例模式的指针管理工具:参数管理器-资源管理核心
来源:互联网 发布:金螳螂家装 知乎 编辑:程序博客网 时间:2024/05/16 06:29
这是资源管理中的一个小的分支部分,主要管理指针。
关于单例模式,有许多种实现方法,有兴趣的可以参考 http://blog.csdn.net/hackbuteer1/article/details/7460019
本题主要是说一下参数管理器。就是一个实例指针的管理工具,我就叫它参数管理器了。
昨天在群里有人说单例的事情,还有怎么样获取一些已有的实例资源。我们的团队以前就做过一个类似的东东,所以就想给大家分享一下。
首先,所有的实例资源(比如窗口、控件等)要求new出来以后统一管理,可以在各处申请,放到管理器中以后就不能随意释放,而是要由管理器来释放才行。
这种内存管理的方式,特别适合某处创建一个对象以后,还有很多场景需要调用的情况,而且可以将其生命周期有效的控制起来。
第二,在使用之前,应当先注册一下参数管理器,为了方便我写了一个宏,用来注册各种工具,本例中只有参数管理器一个。
为了使用起来更显得优雅,我将宏的参数设计成了类名,实际上使用参数管理器的朋友们并不用考虑这么多,只需要拷贝这一句即可
REGIST_OBJECT(SgfParamManager); //将参数管理器注册到核心中
第三,通过一个宏可以获取到参数管理器。 同样的,我将宏的参数设计成了类名,实际上使用参数管理器的朋友们并不用考虑这么多,只需要拷贝这一句即可。
SgfParamManager* tParam = GET_COREOBJECT(SgfParamManager);//获取参数管理器
第四 向参数管理器中添加参数:new一个自己的实例以后,就可以通过一个宏放入参数管理器。以后就可以通过这个名字获取这个实例。
Dialog* tDlg = new Dialog;
tParam->addParam("dlg", tDlg); //向参数管理器中添加参数 addParam(参数名称, 参数指针)
第五 通过参数管理器获取实例, 这个宏的意思也是比较简单明了的
Dialog* tDlg2 = SYS_PARAM_GET_PARAMETER(Dialog, "dlg"); //从参数管理器中获取参数 SYS_PARAM_GET_PARAMETER(类型,参数名称)
第六 释放内存。通过管理器来释放内存,销毁实例。
关于单例模式,有许多种实现方法,有兴趣的可以参考 http://blog.csdn.net/hackbuteer1/article/details/7460019
本题主要是说一下参数管理器。就是一个实例指针的管理工具,我就叫它参数管理器了。
昨天在群里有人说单例的事情,还有怎么样获取一些已有的实例资源。我们的团队以前就做过一个类似的东东,所以就想给大家分享一下。
首先,所有的实例资源(比如窗口、控件等)要求new出来以后统一管理,可以在各处申请,放到管理器中以后就不能随意释放,而是要由管理器来释放才行。
这种内存管理的方式,特别适合某处创建一个对象以后,还有很多场景需要调用的情况,而且可以将其生命周期有效的控制起来。
第二,在使用之前,应当先注册一下参数管理器,为了方便我写了一个宏,用来注册各种工具,本例中只有参数管理器一个。
为了使用起来更显得优雅,我将宏的参数设计成了类名,实际上使用参数管理器的朋友们并不用考虑这么多,只需要拷贝这一句即可
REGIST_OBJECT(SgfParamManager); //将参数管理器注册到核心中
第三,通过一个宏可以获取到参数管理器。 同样的,我将宏的参数设计成了类名,实际上使用参数管理器的朋友们并不用考虑这么多,只需要拷贝这一句即可。
SgfParamManager* tParam = GET_COREOBJECT(SgfParamManager);//获取参数管理器
第四 向参数管理器中添加参数:new一个自己的实例以后,就可以通过一个宏放入参数管理器。以后就可以通过这个名字获取这个实例。
Dialog* tDlg = new Dialog;
tParam->addParam("dlg", tDlg); //向参数管理器中添加参数 addParam(参数名称, 参数指针)
第五 通过参数管理器获取实例, 这个宏的意思也是比较简单明了的
Dialog* tDlg2 = SYS_PARAM_GET_PARAMETER(Dialog, "dlg"); //从参数管理器中获取参数 SYS_PARAM_GET_PARAMETER(类型,参数名称)
第六 释放内存。通过管理器来释放内存,销毁实例。
tParam->->deleteParam("dlg");
下载地址:
http://download.csdn.net/detail/sdust_dx/9706540
0 0
- 单例模式的指针管理工具:参数管理器-资源管理核心
- 智能指针单例模式的实现
- 单例模式 之 属性管理器
- 传递参数的单例模式
- 指针的资源管理之罪
- 文件管理器与设计模式-单例模式
- 原子操作-原子指针与Qt的单例模式
- 带参数的单例模式遇到的问题
- 函数参数的单指针参数和双指针参数的问题和解析
- 单例模式——指针版
- 单例模式——指针版
- 单例模式之传递Context参数
- 单例模式之传递Context参数
- 面向对象核心思想和单例模式
- Kotlin单例模式(带参数和不带参数)
- Spark的资源管理和调度模式
- this指针在父子类中的差别-分析OGRE单例模式遇到的问题
- 【Uinity】关于鼠标指针的管理(以单例模式实现)
- 使用oradebug开启10046
- 伟东山视频自学笔记——uboot下mkconfig脚本具体含义
- Eclipse下导入外部jar包的3种方式
- HTML中使图片居中显示
- 热核特征(heat kernel signature,HKS)简单解释(附可运行代码)
- 单例模式的指针管理工具:参数管理器-资源管理核心
- Java程序性能分析工具Java VisualVM(Visual GC)—程序员必备利器
- mysql查询时间戳和日期的转换
- Qt,Qt/E,Qtopia Core, Qtopia 区别和联系
- 编程语言对比(转载)
- 伟东山视频自学笔记——触摸屏
- css之position属性
- 11. When to change dev/test sets and metrics 何时更改开发/测试集和评估指标(《MACHINE LEARNING YEARNING》翻译)
- 内存管理