设计模式是前辈在自己编程时候产生的问题的解决办法,有利于后期代码的维护和扩展。


工厂模式

    主要是用于类的实例化对象,有利于维护,也是后面大部分设计模式的基础。

class Factory
{
   //工厂模式 实例化对象 这样有助于后期代码维护修改
   public static function createObject()
   {
       $db = Database::getInstance();
       return $db;
   }
}

调用

//工厂模式 实例化对象
$db = Imooc\Factory::createObject();

单例模式
   实例化某个类时不管实例化多少个类只有一个实例,好处是有助于资源消耗的减少,比如数据库链接,
不管多少个实例化数据库对象都只有一个链接。

class Database
{
   private static $db;

   static function getInstance()
   {
       if (self::$db) {
           return self::$db;
       } else {
           self::$db = new self();
           return self::$db;
       }
   }
}

if(self::$db)先判断是否有数据库对象,没有这个对象创建数据库对象self::$db = new self();