设计模式简析(单例模式)

什么是设计模式:设计模式是指设计某个程序的方式。

今天我们简析一下单例模式

单例模式:一个类只能最多创建出一个对象

实现单例必须满足以下条件:

1.不让克隆(私有化克隆魔术方法)

2。不让创建对象(私有化构造方法),不能在类外部使用new关键字创建对象。

3。进入类的内部创建对象(使用静态方法)

4.在类中使用静态属性来保存创建的对象,来判断下次还能不能创建新对象。代码实现

<?php
    //单例模式:一个类只能创建一个对象
    class Single
        {
            //属性
            private    $name;
            public static $counts=0;
            //定义一个静态属性来保存对象
            private static $single;
            //私有化构造方法
            private function __construct(){
                $this->name=$name;
                //计数
                self::$counts++;
            }
            //私有化克隆魔术方法
            private function __clone()
            {
                //计数
                self::$counts++;
            }
            //静态方法,让类进入到类的内部进行实例化得到对象
            public static function getInstance($name)
            {
                //判断对象是否存在,如果存在则直接返回,否则创建
                if(self::$single)
                {
                    //判断对象是否存在,如果存在则直接返回原来的对象,否则创建
                }else{
                //创造一个对象
                self::$single=new Single($name);
                //返回对象
                return self::$single;
                }
            }
    }
    //得到对象
    $single=Single::getInstance('wangjing');

 

posted @ 2016-03-02 18:49  纯敬  阅读(337)  评论(0编辑  收藏  举报