设计模式之单例模式
来源:互联网 发布:装扮淘宝店铺 编辑:程序博客网 时间:2024/06/03 10:39
单例模式可能是设计模式中最简单的模式,很多时候,我甚至觉得不应该叫设计模式,只是一个编码技巧
接下来我们看看什么是单例模式
单例模式顾名思义,就是只有一个实例。作为对象的创建模式, 单例模式确保某一个类只有一个实例
也就是说,不管程序多复杂,在一个页面new了多少次某个类,如果这个类初始化用单例模式,就只会被创建一次,其他的new会复用第一次的创建,不会多次初始化
这样的好处是显而易见的,如果初始化里有数据库连接操作,如果有大数组循环,省下来的开销是很可观的
那么,如何做到呢?下面用代码例子来说明
class Test {
//保存例实例在此属性中
private static $_instance;
//构造函数声明为private,防止直接创建对象
private function __construct() {
echo '我被实例化了!';
}
//单例方法
public static function getInstance()
{
//var_dump(isset(self::$_instance));
if(!isset(self::$_instance)) {
self::$_instance=new self();
}
return self::$_instance;
}
//阻止用户复制对象实例
private function __clone() {
trigger_error('Clone is not allow', E_USER_ERROR);
}
function godeye() {
echo("www.godeye.org");
}
}
从上面代码可以看出,static $_instance用一个静态变量存初始化值,第二次调用getInstance初始化的时候,会先判断$_instance有没有值,有值的话就不再初始化
以此来实现单例模式
转自:http://www.godeye.org/lesson/95
- 设计模式之 单例设计模式
- 设计模式之 单例设计模式
- 设计模式之单例设计模式
- 设计模式之-----------单例设计模式
- 设计模式之:单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之-单例设计模式
- 设计模式之单例设计模式 标签: 设计模式
- 设计模式之单例
- 设计模式之单例
- 设计模式之 单例
- Scala基础教程(九):提取器、文件I/O
- gradle构建打包
- 集群操作CLUSTER OPERATIONS
- 皮尔森相关系数不能用于度量类别型变量关系
- Android开发技巧——高亮的用户操作指南
- 设计模式之单例模式
- 机器学习简单算法整理
- IE下因为css类型不匹配而被忽略
- [Windows] windows temp cab 文件
- getRemoteAddr()和getRemoteHost() 区别
- 实习过程学习(3):计算两个日期间间隔的工作日
- Git超级简明手册
- 设计模式之抽象工厂模式
- office文件在线预览