PHP面向对象的设计模式

1、什么是对象设计模式?

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

2、常用的设计模式有哪些?

1)单例设计模式:一个类只能创建一个实例对象,不管用什么办法都无法创建第2个对象;
2)工厂设计模式:生产不同类对象的工厂;
3)策略设计模式:定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。
4)观察者设计模式:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。

3、单例设计模式的要求(三私一公)

1)一私:私有的静态的保存对象的属性。
2)一私:私有的构造方法,阻止类外new对象。
3)一私:私有的克隆方法,阻止类外clone对象。
4)一公:公共的静态的创建对象的方法。

4、实例:单例设计模式演示
//定义单例的数据库类
class Db
{
    //私有的静态的保存对象的属性
    private static $obj = null;
    //私有的构造方法:阻止类外new对象
    private function __construct(){}
    //私有的克隆方法:阻止类外clone对象
    private function __clone(){}
    //公共的静态的创建对象方法
    public static function getInstance()
    {
        //判断当前对象是否存在
        if(!self::$obj instanceof self)
        {
            //如果对象不存在,创建并保存它
            self::$obj = new self;
        }
        //返回当前类的对象
        return self::$obj;
    }
}
//创建数据库类的对象
$db1 = Db::getInstance();
$db2 = Db::getInstance();
var_dump($db1,$db2);
结果如下:
图片.png

猜你喜欢

转载自blog.csdn.net/csdn_heshangzhou/article/details/80963333