PHP设计模式---单例模式
来源:互联网 发布:网络打印机ip 编辑:程序博客网 时间:2024/06/06 08:23
今天开始,LZ将开始进行PHP设计模式的学习,首先学习最简单且常用的单例模式!!!
什么是单例模式
单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
为什么使用单例模式呢
使用单例模式可以避免大量的new操作。因为每一次new操作都会消耗系统和内存的资源。
单例模式特点(三私一公)
私有的构造方法 (防止类外实例化)
私有的克隆方法 (防止通过克隆生成对象)
私有的静态属性 (保存类的实例)
公有的静态方法 (调取这个类相当一个接口 )
私有的克隆方法 (防止通过克隆生成对象)
私有的静态属性 (保存类的实例)
公有的静态方法 (调取这个类相当一个接口 )
代码实例
不能被继承final class single{// 定义一个私有属性,在构造方法中显示private $random;// 定义一个静态私有属性,为的是实例化后赋值给objstatic private $obj;// 构造方法中random判断实例化的次数,并可进行比较private function __construct(){return $this->random=rand(1,999999999);}static public function getins(){// instanceof判断对象是否实例化if(self::$obj instanceof single){return self::$obj;}else{return self::$obj = new single();}}// final类防止被克隆后实例化类被重写// public function __clone(){// echo "单例模式失败";// }private function __clone(){echo "单例模式失败";}}// 调用静态方法getins()验证实例化次数$sing = single::getins();$sings= single::getins();var_dump($sing);echo "
";var_dump($sings);echo "
";// 检测是否只实例化过一次(验证该类只有一个实例);if($sing == $sings){echo "单例模式成功";}else{echo "单例模式失败";}?>
阅读全文
0 0
- PHP 单例设计模式
- php单例设计模式
- 【PHP设计模式】单例模式
- php设计模式之单例模式
- 设计模式php实例:单例模式
- PHP设计模式之:单例模式
- PHP设计模式之单例模式
- PHP设计模式-单例模式
- PHP 设计模式之单例模式
- PHP设计模式之:单例模式
- PHP设计模式-单例模式
- php设计模式之单例模式
- PHP设计模式之:单例模式
- php设计模式-单例模式
- PHP设计模式之:单例模式
- php设计模式笔记:单例模式
- php设计模式-单例模式
- PHP设计模式之:单例模式
- leetcode---swap-nodes-in-pairs---链表
- oc预处理和编译的理解
- CodeVs 2245 股票趋势 (二维线段树 zkw)
- 贪心(11.22)
- JDK8安装
- PHP设计模式---单例模式
- 我说编程细节
- 两位数加法
- LOJ6226 网络流24题 骑士
- 量化投资:第7节 寻找策略最优参数和评分
- Python Imaging Library: ImageOps Module(图像运算模块)
- C++ 单例模式
- (1) Hadoop-网站流量日志数据自定义采集
- Combox中的TextChanged和TextUpdate