常用六大设计模式
转载自
https://blog.csdn.net/qq_40193451/article/details/117952570
https://www.php.cn/php-weizijiaocheng-491235.html
单例模式
1)特点:
三私一公:
- 私有的静态变量(存放实例)
- 私有的构造方法(放置创建实例)
- 私有的克隆方法(放置克隆对象)
- 公有的静态方法(对外界提供实例)
2)应用场景:
程序应用中,涉及到数据库操作时,如果每次操作的时候连接数据库,会带来大量的资源消耗。可以通过单例模式,创建唯一的数据库连接对象。
3)示例代码
<?php
class Singleton
{
private static $instance;
//私有构造方法,禁止使用new创建对象
private function __construct(){}
public static function getInstance(){
if (!isset(self::$instance)) {
self::$instance = new self;
}
return self::$instance;
}
//将克隆方法设为私有,禁止克隆对象
private function __clone(){}
public function say()
{
echo "这是用单例模式创建对象实例 <br>";
}
public function operation()
{
echo "这里可以添加其他方法和操作 <br>";
}
}
$shiyanlou = Singleton::getInstance();
$shiyanlou->say();
$shiyanlou->operation();
$newShiyanlou = Singleton::getInstance();
var_dump($shiyanlou === $newShiyanlou);//true

浙公网安备 33010602011771号