zxcvb12 发表于 2018-12-13 10:45:16

php 设计模式备忘


[*]  单例模式用于:
  不重复建立对象,节省内存。(PHP很容易卡死的,比如说递归20,30 层)比如用于数据库连接对象
class Single {
    private $name;//声明一个私有的实例变量
    private function __construct(){//声明私有构造方法为了防止外部代码使用new来创建对象。
    }
    static public $instance;//声明一个静态变量(保存在类中唯一的一个实例)
    static public function getinstance(){//声明一个getinstance()静态方法,用于检测是否有实例对象
      if(!self::$instance) self::$instance = new self();
      return self::$instance;
    }
    public function setname($n){ $this->name = $n; }
    public function getname(){ return $this->name; }
}  2.工厂模式用于:
  应该TP里面的M方法建立迷行应该就是这样,感觉和单例还是很像的。

  工厂模式就是一种类,具有为您创建对象的某些方法,这样就可以使用工厂类创建对象,而不直接使用new。这样如果想更改创建的对象类型,只需更改该工厂即可。
class Factory {//创建一个基本的工厂类
   static public function fac($id){//创建一个返回对象实例的静态方法
         if(1 == $id) return new A();
         elseif(2==$id) return new B();
         elseif(3==$id) return new C();
         return new D();
}
}  3.观察者模式:
  针对一个博主,这是一个接口或者对象,里面可以注册观察者(关注者),然后遍历关注者,对每个人执行一个方法。例如这个样子:
页: [1]
查看完整版本: php 设计模式备忘