天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

解析PHP工廠模式的好處

顧名思義,工廠是可以加工零件的,php程序中的工廠模式也有相同的功能,可以方便的使用一個靜態(tài)的工廠方法來實例化某一個類,那么這樣做的好處是什么呢?初學(xué)php的設(shè)計模式,以下是我個人的理解
一般我們實例化一個類會給它一些參數(shù)以便在其構(gòu)析的時候可以根據(jù)不同的參數(shù)反饋出我們需要的結(jié)果。
舉例說明,以下是一個User類,非常簡單:
復(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)绻獙嵗@個類就要這樣:
$u = new User(‘小明‘,19);
一般如果這個類很少使用,那么這樣做沒什么太大影響,也非常好。
突然我想給這個類增加一個歸類,把小明放入學(xué)生組,修改下類代碼實現(xiàn)非常容易,但如果這個類在我們想修改之前在很多文件地方多次的實例化了,那么想為其增加一個參數(shù)就會變的非常煩瑣,因為需要替換成:
$u = new User(‘小明‘,19,‘學(xué)生‘);
當(dāng)然我們也可以通過在__construct函數(shù)中進(jìn)行默認(rèn)值設(shè)置來避免這種重復(fù)勞動,但事實上從代碼優(yōu)雅角度來說這樣很不好,設(shè)想我們有一個工廠方法可以通過一個標(biāo)識來對應(yīng)一組參數(shù),并把這個參數(shù)存放在某個文本文檔或是直接以數(shù)組的形式存放在工廠類中,我們在調(diào)用User類的時候就會變的輕松許多,即便是需要增減參數(shù)屬性也不需要到處進(jìn)行代碼的替換,下面就是一個工廠類(也可以直接將方法存放在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)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 伦理 电影在线观看百度影音 | 欲插爽乱浪伦骨 | 野花日本大全免费观看3中文版 | 国产日韩高清一区二区三区 | 波多野结衣的AV一区二区三区 | 免费99精品国产自在现线 | 一本之道高清在线观看免费 | 中文字幕蜜臀AV熟女人妻 | 火影忍者高清无码黄漫 | 亚洲 在线 日韩 欧美 | 亚洲精品在线观看视频 | 午夜AV亚洲一码二中文字幕青青 | 日日摸夜夜添夜夜爽出水 | 萝莉御姐被吸奶 | 国产精品久久久久影院色老大 | 麻豆XXXX乱女少妇精品 | 国产精品无码人妻在线 | 国产亚洲免费观看 | 亚洲视频中文字幕在线观看 | 外国xxxx| 99无人区码一码二码三 | 午夜精品久久久久久久99蜜桃 | 欧美最猛黑人XXXXWWW | H厨房灌草莓 | 成人在线视频观看 | 影音先锋av丝袜天堂 | 农民工老头在出租屋嫖老熟女 | 一个人看的HD免费高清视频 | 色就色综合 | 337p啪啪人体大胆 | 四虎影视永久无码精品 | 男人边吃奶边摸边做刺激情话 | 欧美高清vivoesond在线播放 | 诱受H嗯啊巨肉各种play | 精品国产mmd在线观看 | 调教椅上的调教SM总裁被调教 | 538在线视频一区二区视视频 | 翘臀后进美女白嫩屁股视频 | 国产午夜不卡 | 看 视频一一级毛片 | 狠很橹快播|