真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP工廠模式的好處有哪些-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)PHP工廠模式的好處有哪些,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

10年積累的成都做網(wǎng)站、網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有通州免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

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


復(fù)制代碼 代碼如下:


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ù)中進行默認(rèn)值設(shè)置來避免這種重復(fù)勞動,但事實上從代碼優(yōu)雅角度來說這樣很不好,設(shè)想我們有一個工廠方法可以通過一個標(biāo)識來對應(yīng)一組參數(shù),并把這個參數(shù)存放在某個文本文檔或是直接以數(shù)組的形式存放在工廠類中,我們在調(diào)用User類的時候就會變的輕松許多,即便是需要增減參數(shù)屬性也不需要到處進行代碼的替換,下面就是一個工廠類(也可以直接將方法存放在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();


關(guān)于PHP工廠模式的好處有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


網(wǎng)站欄目:PHP工廠模式的好處有哪些-創(chuàng)新互聯(lián)
地址分享:http://weahome.cn/article/esjje.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部