參考:人人都會設計模式—建造者模式–builder建造者,建立乙個複雜物件的介面。以同樣的的過程建立不同的產品建造者模式
主要包含如下角色
網上看到有兩種**形式一種就是我貼上出來的,另一種就是建立不同的建造者,來實現產品 客戶端 有新的需求就新增新的工具人,有指揮家同一生成,這樣就有乙個問題,生成的產品必須基於產品角色。但是容易擴充套件 符合「開閉原則」
//產品
class
people
public
function
getheight
($height
)public
function
sethand
($hand
)public
function
gethand
($hand
)public
function
setleg
($leg
)public
function
getleg
($leg
)public
function
setbody
($body
)public
function
getbody
($body)}
inte***ce
builderinte***ce
// 工具人
class
manpeople
implements
builderinte***ce
public
function
addheight
($str
)public
function
addhand
($str
)public
function
addleg
($str
)public
function
addbody
($str
)public
function
getpeople()
}class
peopledirector
// 指揮
public
function
buildpeople
(array
$arr)}
$people
=new
peopledirector
(new
manpeople()
);
建造者模式
1.定義 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。2.uml 類圖 結構 該結構 演示了複雜物件被一步一步建立的建造者模式。builder pattern structural example using system using system.collection...
建造者模式
軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參考 大話設計模式 和 設...
建造者模式
建造者模式將複雜物件的構建和它的表示分離,使同樣的構建過程能夠構建出不同的表示。以乙個建造小人為例子,可以建造2種小人,胖子和瘦子 include using namespace std class builder 抽象建造者類 class buildthinman public builder 瘦...