4 設計模式 建造者模式

2021-10-24 14:44:26 字數 1423 閱讀 6766

前段時間一直忙於考證,沒有整理,開啟部落格感覺又好像過了很久的樣子,哎,鬆懈時間過得真快,今天整理一波建造者模式。

從字面意思建造者模式更傾向於建造。例如計算機包含滑鼠,鍵盤,耳機,音響,印表機等等硬體裝置。這是乙個相對比較複雜的物件。而我們要建立的是計算機這個整體,如果採用工廠模式就沒那麼專業。因為工廠模式更多的是提供單個元件的建立。所以這裡用建造者模式會比較好一點。

/**

* 計算機物件

*/public

class

computer

public

void

setmouse

(string mouse)

public string getkeyboard()

public

void

setkeyboard

(string keyboard)

public string getearphone()

public

void

setearphone

(string earphone)

}

/**

* 建立builder抽象類,封裝了各種建立元件的方法

*/public

abstract

class

computerbuilder

}

/**

* 具體某個品牌電腦的建立實現類,進行自己的元件建立

*/public

class

extends

computerbuilder

@override

public

void

buildkeyboard()

@override

public

void

buildearphone()

}

/**

* 建造指揮者

*/public

class

director

/** * 提供乙個建造的方法,將內部的元件統一進行建立

* @return

*/public computer constructcomputer()

//測試

public

static

void

main

(string[

] args)

}

到此乙個複雜的物件就建立出來了

主要優點

1.橫向擴充套件性好,不同的計算機廠商可以有不同的實現

2.客戶端不需要知道裡面實現的細節

主要缺點:

產品建立相對比較僵硬,只能是這些元件,如果後續需要增加元件,那麼維護起來麻煩。

設計模式4 建造者模式

首先說說建造者模式要解決乙個什麼樣的問題 流程控制,即保證方法先後順序正確且沒有遺漏.用於靈活指導操作細節.建造者模式包括 乙個導演類 用於規定操作順序 乙個建造者介面 用於規定建造者的操作 具體的建造者 建造者的具體實現類 例如 public class buildertest class fil...

設計模式 4 建造者模式

說明 將很多事情,一件一件的按順序組裝形成,stringbuilding就是建造者模式。場景 當乙個流程由很多功能組成,可以直接使用,然後每個實現就好。實現 public class customer 組裝電腦需要的步驟,這裡只組裝了cpu,硬碟 public abstract class ling...

設計模式 (4)建造者模式

建造者 builder 模式 建造者 builder 模式將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。建造者模式包含乙個抽象的builder類,還有它的若干子類 concretebuilder,關鍵是看指揮官director,director裡面的方法construct...