建造者模式例項

2022-05-03 19:27:12 字數 1479 閱讀 5802

<?php

/** * 建造模式

* 功能:由於廚師經常做菜不是少放了油就是沒鹽,顧客很不滿意,

* 為了提高服務質量,廚師們都按照以下程式做菜

*//**

* 具體產品:

* 做菜,最初就這乙個類,廚師們亂放油鹽

*/class cooking

else

}//顯示這道菜用了些什麼原料

public function show() }

/** * 在抽象類中,把該放的東西定死,做任何菜都得要執行這個。我看他們還會忘記放鹽了不

*/abstract class cookingbuilder

/** * 乙個具體的建造者,實現cookingbuilder介面,做土豆絲,

*/class potatobuilder extends cookingbuilder

//放油

public function setoil()

//放鹽

public function setsalt()

//放菜

public function setvegetables()

//放其它佐料

public function setothers()

public function getresult() }

/** * 另乙個具體的建造者,實現cookingbuilder介面,做西紅柿炒蛋,

*/class tomatobuilder extends cookingbuilder

//放油

public function setoil()

//放鹽

public function setsalt()

//放菜

public function setvegetables()

//放其它佐料

public function setothers()

public function getresult() }

/** * 指揮者:在這裡使用cookingbuilder

*/class director

public function cooking() }

$director = new director();

$potatobuilder = new potatobuilder();

$tomatobuilder = new tomatobuilder();

$director->init( $potatobuilder );

$potato = $potatobuilder->getresult();

$potato->show();

$director->init( $tomatobuilder );

$tomato = $tomatobuilder->getresult();

$tomato->show();

?>

建造者模式

1.定義 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。2.uml 類圖 結構 該結構 演示了複雜物件被一步一步建立的建造者模式。builder pattern structural example using system using system.collection...

建造者模式

軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參考 大話設計模式 和 設...

建造者模式

建造者模式將複雜物件的構建和它的表示分離,使同樣的構建過程能夠構建出不同的表示。以乙個建造小人為例子,可以建造2種小人,胖子和瘦子 include using namespace std class builder 抽象建造者類 class buildthinman public builder 瘦...