国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP設計模式-Builder 建造者模式

lushan / 3089人閱讀

整理一下自己的學習Aaron Saray 寫的PHP設計模式一些demo和自己的理解。大佬看完如果發現鄙人理解有誤請立即指出,感謝拍磚,跪求鞭打

/**
 * Builder  建造者模式
 * -------------------------------------
 * ** 來自說明 **
 *
 * 建造者設計模式的母的是消除其他對象的復雜創建過程,
 * 使用建造者設計模式不僅是最佳的做法
 * 而且在某個對象的構造和配置方法改變時盡可能地減少重復的代碼
 * 
 * ===================================== 
 * ** 應用場景 **
 *
 * 數據庫接口類 | 優化基類
 * 
 * -------------------------------------
 * 
 * @version ${Id}$
 * @author Shaowei Pu <54268491@qq.com>
 */
// 現在是這樣一個情況,您是學生個人檔案錄入員,你看到了你們Boss 在許多年前,你還是一個乳臭未干的小孩時寫的錄入類 
class Entering {

    public $info = [];
    public function setName( $name ){
        $this->info["name"] = $name;
    }

    public function setOld( $old ){
        $this->info["old"] = $old;
    }

    public function setGender( $gender ){
        $this->info["gander"]  = $gender;
    }
}
// 然后
$worker = new Entering;
$worker->setName("jacky");
$worker->setOld("22");
$worker->setGender("男");
// 然后這樣就可以了,一個學生的完整信息就這么弄出來了
var_dump($worker->info);
/* 
+----------------------------------------------------------------------
| array (size=3)
|   "name"      => string "jacky" (length=5)
|   "old"      => string "22" (length=2)
|   "gander" => string "男" (length=3)
+----------------------------------------------------------------------
*/

// 但是愛折騰的你從來不會放棄任何機會,自從學習了建造者模式的你 總有種蠢蠢欲動,于是乎就有了下面的類
class EnteringBuilder{
    
    protected $_baseObject = null;
    protected $_newInfo    = []  ;

    public function __construct( array $info ){
        $this->_baseObject = new Entering;
        $this->_newInfo  = $info;
    }

    public function build(){
        $this->_baseObject->setName  (  $this->_newInfo["name"]);
        $this->_baseObject->setOld      (  $this->_newInfo["old"]);
        $this->_baseObject->setGender(  $this->_newInfo["gander"]);
    }

    public function getInfo(){
        return $this->_baseObject->info;
    }
}

// 然后這樣
$new_worker = new EnteringBuilder([
            "name"      => "lucy",
            "old"      =>  22,
            "gander" => "女",
    ]);
$new_worker->build();
// 然后這樣就可以了,一個學生的完整信息就這么弄出來了
var_dump($new_worker->getInfo());
 
/* 
+----------------------------------------------------------------------
|    array (size=22)
|      "Host" => string "localhost" (length=9)
|      "Db" => string "sys" (length=3)
|      "User" => string "mysql.sys" (length=9)
|      "Select_priv" => string "N" (length=1)
|      "Insert_priv" => string "N" (length=1)
|      "Update_priv" => string "N" (length=1)
|      "Delete_priv" => string "N" (length=1)
|      "Create_priv" => string "N" (length=1)
|      "Drop_priv" => string "N" (length=1)
|      "Grant_priv" => string "N" (length=1)
|      "References_priv" => string "N" (length=1)
|      "Index_priv" => string "N" (length=1)
|      "Alter_priv" => string "N" (length=1)
|      "Create_tmp_table_priv" => string "N" (length=1)
|      "Lock_tables_priv" => string "N" (length=1)
|      "Create_view_priv" => string "N" (length=1)
|      "Show_view_priv" => string "N" (length=1)
|      "Create_routine_priv" => string "N" (length=1)
|      "Alter_routine_priv" => string "N" (length=1)
|      "Execute_priv" => string "N" (length=1)
|      "Event_priv" => string "N" (length=1)
|      "Trigger_priv" => string "Y" (length=1)
+----------------------------------------------------------------------
*/

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39456.html

相關文章

  • PHP設計模式(五)建造模式Builder

    摘要:與工廠模式相比,建造者模式一般用來創建更為復雜的對象,因為對象的創建過程更為復雜,因此將對象的創建過程獨立出來組成一個新的類導演類。 什么是建造者設計模式 建造者模式:將一個復雜對象的構造與它的表示分離,使同樣的構建過程可以創建不同的表示的設計模式。 設計場景: 有一個用戶的UserInfo類,創建這個類,需要創建用戶的姓名,年齡,愛好等信息,才能獲得用戶具體的信息結果。如: 這是一個...

    KunMinX 評論0 收藏0
  • PHP設計模式-Builder 建造模式

    整理一下自己的學習Aaron Saray 寫的PHP設計模式一些demo和自己的理解。大佬看完如果發現鄙人理解有誤請立即指出,感謝拍磚,跪求鞭打 /** * Builder 建造者模式 * ------------------------------------- * ** 來自說明 ** * * 建造者設計模式的母的是消除其他對象的復雜創建過程, * 使用建造者設計模式不僅是最佳...

    hizengzeng 評論0 收藏0
  • PHP面試常考之設計模式——建造模式

    摘要:你好,是我琉憶,程序員面試筆試系列圖書的作者。建造者模式介紹建造者模式又名生成器模式,是一種對象構建模式。表示被構造的復雜對象。創建該產品的內部表示并定義它的裝配過程。 你好,是我琉憶,PHP程序員面試筆試系列圖書的作者。 本周(2019.3.11至3.15)的一三五更新的文章如下: 周一:PHP面試常考之設計模式——工廠模式周三:PHP面試常考之設計模式——建造者模式周五:PHP面...

    alexnevsky 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<