美文网首页
单例模式

单例模式

作者: 奋斗live | 来源:发表于2017-10-30 10:19 被阅读0次

    简单来说,单例模式,就是创建的实例必须是唯一的。而不是通过new来实例化大量的对象。在这里,我用php代码进行了演示。

    主要特点:

    1、有且只有一个实例
    2、只能自己实例化自己
    3、可以被别人获取

    这样就引申了其中方法的设置

    1、构造方法必须设置为private,这样其他人就无法进行新的实例了,保证了唯一性
    2、拥有保存类实例的静态属性
    3、提供一个公有方法,让其他人来访问实例

    如下代码:

    <?php
    
    class Test{
        
        private $name;
        
        private function __construct(){//防止其他人进行实例化
            
        }
        
        static public $instance;
        
        static public function get_instance(){
            if(!self::$instance){
                self::$instance = new static();
            }
            return self::$instance;
        }
        
        
    }
    
    var_dump(Test::get_instance());
    var_dump(Test::get_instance());
    ?>
    

    可以看到他们共用了同一个对象实例

    image.png
    用处

    可用于数据库、redis等资源连接

    相关文章

      网友评论

          本文标题:单例模式

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