建造者模式主要是為了消除其它物件複雜的建立過程。有乙個使用者的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 複製 出戰前基配型別 充能 選擇主 以及副...