一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

解析PHP工廠模式的好處

顧名思義,工廠是可以加工零件的,php程序中的工廠模式也有相同的功能,可以方便的使用一個靜態的工廠方法來實例化某一個類,那么這樣做的好處是什么呢?初學php的設計模式,以下是我個人的理解
一般我們實例化一個類會給它一些參數以便在其構析的時候可以根據不同的參數反饋出我們需要的結果。
舉例說明,以下是一個User類,非常簡單:
復制代碼 代碼如下:
<?php
interface IUser{
   function getName();
   function getAge();
}
class User implements IUser{
   protected $_name;
   protected $_age;
   function __construct($name, $age){
      $this->_name = $name;
      $this->_age = (int)$age;
   }
   function getName(){
      return $this->_name;
   }
  function getAge(){
      return $this->_age;
   }
}
?>

我們如果要實例化這個類就要這樣:
$u = new User(‘小明‘,19);
一般如果這個類很少使用,那么這樣做沒什么太大影響,也非常好。
突然我想給這個類增加一個歸類,把小明放入學生組,修改下類代碼實現非常容易,但如果這個類在我們想修改之前在很多文件地方多次的實例化了,那么想為其增加一個參數就會變的非常煩瑣,因為需要替換成:
$u = new User(‘小明‘,19,‘學生‘);
當然我們也可以通過在__construct函數中進行默認值設置來避免這種重復勞動,但事實上從代碼優雅角度來說這樣很不好,設想我們有一個工廠方法可以通過一個標識來對應一組參數,并把這個參數存放在某個文本文檔或是直接以數組的形式存放在工廠類中,我們在調用User類的時候就會變的輕松許多,即便是需要增減參數屬性也不需要到處進行代碼的替換,下面就是一個工廠類(也可以直接將方法存放在User類)
復制代碼 代碼如下:
interface IUser{
    function getName();
    function getAge();
}
class User implements IUser{
   protected $_group;
   protected $_name;
   protected $_age;
  function __construct($name, $age, $group){
      $this->_group = $group;
      $this->_name = $name;
      $this->_age = (int)$age;
  }
  function getName(){
     return $this->_name;
  }
  function getAge(){
      return $this->_age;
  }
}
class Fuser{
   private static $group = array(
       array(‘小明‘,19,‘學生‘),
       array(‘小王‘,19,‘學生‘)
   );
   static function create($id){
      list($name, $age, $group) = self::$group[(int)$id];
      return new User($name, $age, $group);
   }
}
echo Fuser::create(0)->getName();

得到的結果應該是輸出“小明”。

php技術解析PHP工廠模式的好處,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 青青草国产精品久久久久 | 国产91精品高清一区二区三区 | 涩涩涩综合在线亚洲第一 | 天天色天天干天天射 | 国产精品久久久久影视不卡 | 亚洲欧美日韩精品在线 | 国产成人福利免费视频 | 在线观看国产情趣免费视频 | 国产国产人精品视频69 | 日本网络视频www色高清免费 | 亚洲欧美一区二区三区不卡 | 91av免费| 日本伊人精品一区二区三区 | 久久亚洲精品中文字幕亚瑟 | 伊人免费在线 | 亚洲视频四区 | 一区二区三区四区国产精品 | 欧美高清狂热视频60一70 | 国语精品视频在线观看不卡 | 亚洲黄色在线看 | 亚洲免费网站 | 在线久 | 一色屋成人免费精品网站 | 爱做久久久久久久久久 | 亚洲美女人黄网成人女 | 青热久思思 | 美女视频黄是免费的 | 美女免费精品高清毛片在线视 | 天天操综合网 | 区二区三区四区免费视频 | 黄色免费网站在线观看 | 欧美在线视频播放 | 亚洲一区二区三区高清视频 | 丁香婷婷综合网 | 国产91福利 | 国产九九在线观看播放 | 欧美激情在线精品一区二区 | 深爱五月激情五月 | 国产百合一区二区三区 | 四虎影视永久免费视频观看 | 精品久久久久久久久免费影院 |