单例模式(Singleton)
介绍
创建型模式,保证一个类仅有一个实例,并提供一个它的全局访问点。
何时使用:控制实例数量,节省系统资源的时候使用。
优点:
在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例。
缺点:
没有接口,不能继承,与单一职责原则冲突。
代码实现:
<?php
class Singleton{
private static $obj = null;
private function __construct(){
}
public static function getObject(){
echo 0;
if(self::$obj === null){
echo 1;
self::$obj = new self;
}
return self::$obj;
}
}
Singleton::getObject();
Singleton::getObject();
Singleton::getObject();
exit;