作者: 呦丶耍脾气 | 来源:发表于2019-12-23 10:28 被阅读0次

    1. 单例模式

    • 什么是单例模式
      单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。
    • 单例模式写法
    <?php
    /**
     * 四个要点:
     * 1.需要一个保存类的唯一实例的静态成员变量;
     * 2.构造函数和克隆函数必须声明为私有的防止外部程序new类而失去单例模式的意义
     * 3.必须提供一个访问这个实例的公共的静态方法
     * 4.在定义类的时候用final关键字禁止继承,防止重写父类方法。
     */
    final class danli
    {
      private static $self = null;#静态变量设置为私有,防止被修改
      #构造函数私有防止被外部程序new类
      private function  __construct()
      {
    
      }
      #克隆魔术方法设置为私有防止克隆对象
      private function __clone()
      {
    
      }
      #声明唯一的静态方法,提供外部获取实例
      static function getSelf()
      {
        var_dump(self::$self instanceof self);
        if(!(self::$self instanceof self)){
          self::$self = new self();
        }
        return self::$self;
      }
    }
    $self = danli::getSelf();
    danli::getSelf();
    var_dump($self);
    
    
    • 单例模式案例

    数据库连接池的设计一般也是采用单例模式,因为数据库连接是一种数据库资源。数据库软件系统中使用数据库连接池,主要是节省打开或者关闭数据库连接所引起的效率损耗,这种效率上的损耗还是非常昂贵的,因此用单例模式来维护,就可以大大降低这种损耗。

    相关文章

      网友评论

          本文标题:

          本文链接:https://www.haomeiwen.com/subject/zxcznctx.html