建造者模式

2021-09-28 12:53:35 字數 1369 閱讀 3368

參考:人人都會設計模式—建造者模式–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 瘦...