php 单例模型就是在程序中建一个唯一的访问点 也是是说实例化出来的对象是唯一的
<?php class ren { public $name; private static $dx; // 存储对象 private function __construct() { } public static function xianshi() //私有的方法是无法实例化的 需要建一个公有的方法来实现 { if(empty(self::$dx)) { return self::$dx=new ren(); } return self::$dex; } } $r=ren:: xianshi(); $r->name="张三"; var_dump($r) ?>
工厂模式 就是一种类,具有一定的安全性,而且操作也比较方便
//这种方法可能是我们最先考虑到的 但是如果扩展的话是不安全的 <?php class yunsuan { public $a; public $b; function jia() { return $this->a + $this->b; } function jian() { return $this->a - $this->b; } } ?>
//可以采用重写的方法来扩展,比较安全,但是如果是大容量的改写还是会比较麻烦 <?php class yunsuan { public $a; public $b; function suan() { echo"这是一种运算方法": } } class jia extends yunsuan { function suan()
{
return $this->a + $this->b;
}
} class jian extends yunsuan { function suan()
{
return $this->a - $this ->b;
}
}
?>
//这里我们直接用工厂模式来存储 比较简单一些 <?php class gongchang { static function chanpin($name) { switch ($name) { case"+": return new jia(); break; case"-": return new jian() break; default: return false; } } } $gong= gongchang:chanpin(""); var_dump($gong) ?>