单例模式

2017-10-30  本文已影响0人  奋斗live

简单来说,单例模式,就是创建的实例必须是唯一的。而不是通过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等资源连接

上一篇下一篇

猜你喜欢

热点阅读