大話設計模式讀書筆記(十) 建造者模式

2021-07-30 15:08:30 字數 1168 閱讀 6539

將乙個複雜物件的構建與他的表示分離,使同樣的構建過程可以建立不同的表示。

具體產品類

public class product 

public void show()

}}

建造者介面

public inte***ce builder
建造者介面實現

public class concretebuilder implements builder

@override

public void buildpartb()

@override

public product getresult()

}public class concretebuilder2 implements builder

@override

public void buildpartb()

@override

public product getresult()

}

指揮者類

public class director 

}

主方法

public class mian 

}

建造者模式的結構中引入了乙個指揮者類director,該類的作用主要有兩個:

一、它隔離客戶與生產過程;

二、它負責控制產品的生成過程。指揮者針對抽象建造者程式設計,客戶端只需要知道具體建造者的型別,無須關心產品物件的具體組裝過程,即可通過指揮者類呼叫建造者的相關方法,返回乙個完整的產品物件。

建造者模式與抽象工廠模式的比較:

與抽象工廠模式相比, 建造者模式返回乙個組裝好的完整產品 ,而抽象工廠模式返回一系列相關的產品,這些產品位於不同的產品等級結構,構成了乙個產品族。

在抽象工廠模式中,客戶端例項化工廠類,然後呼叫工廠方法獲取所需產品物件,而在建造者模式中,客戶端可以不直接呼叫建造者的相關方法,而是通過指揮者類來指導如何生成物件,包括物件的組裝過程和建造步驟,它側重於一步步構造乙個複雜物件,返回乙個完整的物件。

如果將抽象工廠模式看成汽車配件生產工廠 ,生產乙個產品族的產品,那麼建造者模式就是乙個汽車組裝工廠 ,通過對部件的組裝可以返回一輛完整的汽車。

大話設計模式筆記(十) 建造者模式

畫乙個小人,有頭 身體 兩手 兩腳就可以了。人類 created by callmedevil on 2019 7 21.public class person public void drawbody public void drawhand public void drawleg public ...

大話設計模式學習(十) 建造者模式

建造者模式 將乙個複雜物件的構造與它的表示分離,使得同樣的構建過程可以建立不同的表示。建造者模式主要用於建立一些複雜的物件,這些物件內部構建之間的建造順序通常是穩定的,但物件內部的建構通常面臨著複雜的物件,它的好處在於使得建造 和表示 分離,由於建造者隱藏了該產品是如何組裝的,所以若需要改變乙個產品...

讀書筆記 大話設計模式

大話設計模式 的確寫的很不錯。把晦澀解懂的設計模式,講的通俗易懂。邊讀邊用evernote做筆記,把印象深刻的整理了一下。先補習一下uml的圖示法 繼承,介面,組合,依賴,關聯 策略模式 strategy 定義一系列演算法,所有演算法完成的都是相同的工作,只是實現不同。減少演算法與使用類之間的藕合。...