4、建造者模式(builder)
工廠類模式提供的是建立單個類的模式,而建造者模式則是將各種產品集中起來進行管理,用來建立復合物件,所謂復合物件就是指某個類具有不同的屬性。建造者模式主要用於「分步驟構建乙個複雜的物件」,在這其中「分步驟」是乙個穩定的演算法,而複雜物件的各個部分則經常變化。因此, 建造者模式主要用來解決「物件部分」的需求變化。 這樣可以對物件構造的過程進行更加精細的控制。
例子://cpu介面
public inte***ce cpu
//intel的cupclass intelcpu implements cpu
//amd的cpuclass amdcpu implements cpu
//記憶體介面public inte***ce memory
//金士頓記憶體class kingstonmemory implements memory
//三星記憶體
class samsungmemory implements memory
//主機板記憶體
public inte***ce mainboard
//華碩主板
class asusmainboard implements mainboard
//技嘉主機板
class gamainboard implements mainboard
//計算機
public class computer
//計算機的builder的介面public inte***ce computerbuilder
//聯想電腦的builderpublic class lenovecomputerbuilder implements computerbuilder
public void buildcpu()
public void buildmemory()
public void buildmainboard()
public computer getcomputer()
}
//惠普電腦的builderpublic class hpcomputerbuilder implements computerbuilder
public void buildcpu()
public void buildmemory()
public void buildmainboard()
public computer getcomputer()
}
//director類(導演)
//指導如何具體的創造電腦
public class director
//使用者自定義的自造順序 具體指導各種builder如何建立電腦
public void construct()
}
//測試類public class test
}
從這點看出,建造者模式將很多功能整合到乙個類裡,這個類可以創造出比較複雜的東西。所以與工廠模式的區別就是:工廠模式關注的是建立單個產品,而建造者模式則關注建立適合物件的多個部分。因此,是選擇工廠模式還是建造者模式,依實際情況而定。
例如乙個person類是由頭、身體、腳三個物件組成,那麼我們在建造者模式中就要先分別創造出這三個部分然後再把他們組裝成乙個person物件.。。。。。
設計模式4 建造者模式
首先說說建造者模式要解決乙個什麼樣的問題 流程控制,即保證方法先後順序正確且沒有遺漏.用於靈活指導操作細節.建造者模式包括 乙個導演類 用於規定操作順序 乙個建造者介面 用於規定建造者的操作 具體的建造者 建造者的具體實現類 例如 public class buildertest class fil...
4 設計模式 建造者模式
前段時間一直忙於考證,沒有整理,開啟部落格感覺又好像過了很久的樣子,哎,鬆懈時間過得真快,今天整理一波建造者模式。從字面意思建造者模式更傾向於建造。例如計算機包含滑鼠,鍵盤,耳機,音響,印表機等等硬體裝置。這是乙個相對比較複雜的物件。而我們要建立的是計算機這個整體,如果採用工廠模式就沒那麼專業。因為...
設計模式 4 建造者模式
說明 將很多事情,一件一件的按順序組裝形成,stringbuilding就是建造者模式。場景 當乙個流程由很多功能組成,可以直接使用,然後每個實現就好。實現 public class customer 組裝電腦需要的步驟,這裡只組裝了cpu,硬碟 public abstract class ling...