常用六大设计模式

转载自
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
posted @ 2026-06-07 17:12  Myifb  阅读(5)  评论(0)    收藏  举报