本帖最后由 bingwei213 于 2018-8-24 22:33 编辑
浅析单例模式
据说,单例模式是设计模式中最简单的一种。
单例模式代码 danli.php:
[PHP] 纯文本查看 复制代码 <?php
class Danli
{
//保存类的实例的静态成员变量
static private $_instance=null;
//私有的构造方法
private function __construct(){
echo "这是一个构造方法<br>";
}
//用于访问类的实例的公共的静态方法
static public function getInstance(){
if(!(self::$_instance instanceof Danli)){
echo "实例化<br>";
self::$_instance = new self;
}
return self::$_instance;
}
//类的其它方法
public function test(){
echo "调用成功<br>";
}
}
index.php
[PHP] 纯文本查看 复制代码 <?php
header("content-type:text/html;charset=utf-8");
//加载类文件
require "Danli.php";
//第一次调用类的实例
$first = Danli::getInstance();
$first->test();
//第二次调用类的实例
$second = Danli::getInstance();
$second->test();
1、一个private的__construct是必须的,单例类不能在其它类中实例化,只能被自身实例化;
2、拥有一个保存类的实例的静态成员变量;
3、一个静态的公共方法用于实例化这个类,并访问这个类的实例;
|