我理解的设计模式:单例模式
来源:互联网 发布:linux如何查看内核日志 编辑:程序博客网 时间:2024/06/06 03:37
单例模式(singleton pattern)
什么是单例模式,四人帮的书里面这么定义:
保证一个类仅有一个实例,并提供一个访问它的全局访问点。
可以这么理解:在一个进程里,这个类只会被实例化一次,而且可以很方便的被调用。
实现:
恶汉式:
加载类的时候,在类的内部定义一个实例,外部调用则开放给一个静态函数。
Lua实例: (不要问我为什么用Lua,最近写手游Lua用得多,but c++就用的少了,只有修改cocos引擎底层的时候才用的到。 lua中class的实现可以参照quick-cocos2d-x的framework )local Singleton = class("Singleton")function Singleton:ctor()endfunction Singlenton:doSomething() print("hey, u get me")endlocal instance = Singleton.new()function Singleton.getInstance() return instanceendSingleton.getInstance():doSomething()控制台:hey, u get me
懒汉式:
外部调用开放给一个静态函数,并在调用的时候检测有没有实例化。
local Singleton = class("Singleton")function Singleton:ctor()endfunction Singlenton:doSomething() print("hey, u get me")endlocal instancefunction Singleton.getInstance() if instance == nil then instance = Singleton.new() end return instanceendSingleton.getInstance():doSomething()控制台:hey, u get me
比较恶汉式和懒汉式,恶汉式在多次加载类的时候会多次初始化,懒汉式同步处理会降低速度。
1 0
- 我理解的设计模式:单例模式
- 我理解的java设计模式之单例模式
- 我对单例模式的理解
- 我所理解的单例模式
- JAVA单例设计模式的理解
- 对单例设计模式的理解
- 关于单例设计模式的理解
- 单例设计模式的个人理解
- 设计模式理解之单例模式
- 我的设计模式学习笔记------>单例模式(Singleton)
- 我的设计模式--1--单例模式
- 我的Java设计模式-单例模式
- 我理解的设计模式
- 单例设计模式及其我对它的理解-----黑马程序员
- 设计模式,我理解的代理模式
- 我理解的设计模式:工厂模式
- 我所理解的设计模式(C++实现)——单例模式(Singleton Pattern)
- 我所理解的设计模式(C++实现)——单例模式(Singleton Pattern)
- zoj 2342 Roads
- C - Heavy Transportation——HOJ
- web day20 单表练习之分页,java web监听器, 国际化
- u-boot.lds文件诠释
- 如何右键新建HTML
- 我理解的设计模式:单例模式
- 人工智能中对机器学非常简要的介绍
- 模板-KM算法
- Reverse Nodes in k-Group
- Windows Server 2012 如何将软件加入开机自启项
- 第一个内核测试程序
- error LNK2005: __pRawDllMain already defined in UiPlugin.obj
- Centos安装MySQL数据库遇到的问题总结
- 如何在HTML页面中保留空格和换行符