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

解析PHP工廠模式的好處

顧名思義,工廠是可以加工零件的,php程序中的工廠模式也有相同的功能,可以方便的使用一個(gè)靜態(tài)的工廠方法來實(shí)例化某一個(gè)類,那么這樣做的好處是什么呢?初學(xué)php的設(shè)計(jì)模式,以下是我個(gè)人的理解
一般我們實(shí)例化一個(gè)類會(huì)給它一些參數(shù)以便在其構(gòu)析的時(shí)候可以根據(jù)不同的參數(shù)反饋出我們需要的結(jié)果。
舉例說明,以下是一個(gè)User類,非常簡(jiǎn)單:
復(fù)制代碼 代碼如下:
<?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;
   }
}
?>

我們?nèi)绻獙?shí)例化這個(gè)類就要這樣:
$u = new User(‘小明‘,19);
一般如果這個(gè)類很少使用,那么這樣做沒什么太大影響,也非常好。
突然我想給這個(gè)類增加一個(gè)歸類,把小明放入學(xué)生組,修改下類代碼實(shí)現(xiàn)非常容易,但如果這個(gè)類在我們想修改之前在很多文件地方多次的實(shí)例化了,那么想為其增加一個(gè)參數(shù)就會(huì)變的非常煩瑣,因?yàn)樾枰鎿Q成:
$u = new User(‘小明‘,19,‘學(xué)生‘);
當(dāng)然我們也可以通過在__construct函數(shù)中進(jìn)行默認(rèn)值設(shè)置來避免這種重復(fù)勞動(dòng),但事實(shí)上從代碼優(yōu)雅角度來說這樣很不好,設(shè)想我們有一個(gè)工廠方法可以通過一個(gè)標(biāo)識(shí)來對(duì)應(yīng)一組參數(shù),并把這個(gè)參數(shù)存放在某個(gè)文本文檔或是直接以數(shù)組的形式存放在工廠類中,我們?cè)谡{(diào)用User類的時(shí)候就會(huì)變的輕松許多,即便是需要增減參數(shù)屬性也不需要到處進(jìn)行代碼的替換,下面就是一個(gè)工廠類(也可以直接將方法存放在User類)
復(fù)制代碼 代碼如下:
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,‘學(xué)生‘),
       array(‘小王‘,19,‘學(xué)生‘)
   );
   static function create($id){
      list($name, $age, $group) = self::$group[(int)$id];
      return new User($name, $age, $group);
   }
}
echo Fuser::create(0)->getName();

得到的結(jié)果應(yīng)該是輸出“小明”。

php技術(shù)解析PHP工廠模式的好處,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产综合91天堂亚洲国产 | 麻豆专区| 国产精品青草久久福利不卡 | 欧美人禽猛交狂配免费看 | 美女又胸大又黄的网站 | 久久久久99 | 久久精品中文字幕首页 | 激情图片视频小说 | 最大胆极品欧美人体 | 奇米影视99| 国产啪在线91 | www.色无极 | 中文字幕在线永久在线视频2020 | 久9视频这里只有精品 | 美女一区二区在线观看 | 四虎影视永久免费视频观看 | 欧美色视频在线 | 国产中文在线视频 | 一级做a爰片久久毛片一 | 久久伊人精品 | 精品一区二区三区无卡乱码 | 999无色码中文字幕 999影院成 人在线影院 | 伊人成人在线 | 国产精品久久久久影视不卡 | 成人精品亚洲人成在线 | 欧美在线网站 | 日韩精品中文字幕一区二区三区 | 亚洲欧美日韩国产一区二区三区精品 | 国产中文字幕一区 | 国产成人综合亚洲亚洲欧美 | 国产精品视频无圣光一区 | 日韩中文字幕在线播放 | 伊人免费在线 | 色播视频在线 | 国产视频一区在线播放 | 欧美7777kkkk免费看258 | 色播亚洲精品网站 亚洲第一 | 欧美精品第二页 | 国产一级又裸又黄又裸又 | 色94色欧美一区 | 最新毛片久热97免费精品视频 |