PHP設計模式系列 建造者模式

2021-08-01 04:36:32 字數 1989 閱讀 2490

建造者模式主要是為了消除其它物件複雜的建立過程。

有乙個使用者的userinfo類,建立這個類,需要建立使用者的姓名,年齡,金錢等資訊,才能獲得使用者具體的資訊結果。

建立乙個userinfobuilder 使用者建造者類,這個類,將userinfo複雜的建立姓名,年齡,金錢等操作封裝起來,簡化使用者類的建立過程

[php]view plain

copy

print?

//建造者模式,目的是消除其它物件複雜的建立過程

/* 描述乙個使用者的類,包含使用者姓名,年齡,金錢 */

class

userinfo      

public

function

setuserage(

$userage

)      

public

function

setusermoney(

$usermoney

)   

public

function

getpeople()   

}  /* 例項化,並且建立這個使用者的時候,是很痛苦的,需要設定使用者名稱,年齡和金錢*/

$peopleinfo

= array

(  'username'

=> 

'initphp'

,  'userage'

=> 28,  

'usermoney'

=> 

'100元'

);  

$userinfo

= new

userinfo;  

//下面需要一步步的設定使用者資訊,才能得到使用者詳細資訊,過程糾結而痛苦

$userinfo

->setusername(

$peopleinfo

['username'

]);   

$userinfo

->setuserage(

$peopleinfo

['userage'

]);  

$userinfo

->setusermoney(

$peopleinfo

['usermoney'

]);  

$userinfo

->getpeople();  

[php]view plain

copy

print?

<?php  

//建造者模式,目的是消除其它物件複雜的建立過程

include

("userinfo.php"

);  

class

userinfobuilder   

public

function

buildpeople(

$peopleinfo

)    

public

function

getpeople()   

}  /* 建立過程被封裝了,使用者使用簡單了 */

$peopleinfo

= array

(  'username'

=> 

'initphp'

,  'userage'

=> 28,  

'usermoney'

=> 

'100元'

);  

$userinfobuilder

= new

userinfobuilder;  

$userinfobuilder

->buildpeople(

$peopleinfo

); //直接乙個build

$userinfobuilder

->getpeople();  

參考:《php設計模式》aaron saray著

PHP設計模式系列 建造者模式

有乙個使用者的userinfo類,建立這個類,需要建立使用者的姓名,年齡,金錢等資訊,才能獲得使用者具體的資訊結果。建立乙個userinfobuilder 使用者建造者類,這個類,將userinfo複雜的建立姓名,年齡,金錢等操作封裝起來,簡化使用者類的建立過程 建造者模式,目的是消除其它物件複雜的...

PHP設計模式 建造者模式

建造者模式主要在於建立一些複雜的物件。將乙個複雜物件的構造與它的表示分離,使同樣的構建過程可以建立不同的表示的設計模式 產品本身 class product public function add part 建造者抽象類 abstract class builder 具體建造者 實現其具體方法 cl...

設計模式系列之 建造者模式

一 初出茅廬的比爾 雷澤 比爾最近迷上了程式設計,剛學到點三腳貓功夫就吵著要寫段 為自己代言,要把自己不同的形象展現出來,比爾寫了以下 角色的基配 public class character override public string tostring 複製 出戰前基配型別 充能 選擇主 以及副...