適用場景:
乙個物件有多個子物件構成,我們要建這個物件的時候,需要很多步驟,構建多個子物件,然後再由子物件構成乙個物件,我們就可以考慮用建造者模式
建造者本質:
讓建造子物件的builder和裝配物件director解耦,從而建造出複雜的物件
舉個例子:
我們來構建乙個電腦物件,它有滑鼠,顯示器,鍵盤等子物件構成,我們如何來裝配這個對呢
/**
* 電腦實體類
* *@author liuxg
*@date 2023年5月24日 下午8:37:58
*/public
class
computer
public
void
setmonitor(monitor monitor)
public keyboard getkeyboard()
public
void
setkeyboard(keyboard keyboard)
public mouse getmouse()
public
void
setmouse(mouse mouse)
}class monitor
}class keyboard
}class mouse
}
接下來我們來建立乙個構建子物件的builder來構建子物件
/**
* 電腦建造器
*@author liuxg
*@date 2023年5月24日 下午8:40:12
*/public
inte***ce
computerbuilder
/** * 電腦建造起的實現類
*@author liuxg
*@date 2023年5月24日 下午8:40:48
*/public
class
computerbuilderimpl
implements
computerbuilder
@override
public keyboard buildkeyboard()
@override
public mouse buildmouse()
}
然後我們再定義乙個類,專門用來專配電腦,這樣子就實現構建者和組裝者的解耦和分離
/**
* 裝配器
*@author liuxg
*@date 2023年5月24日 下午8:42:18
*/public
class
dirctor
}
我們來使用客戶端測試一下
public
class client01
}
java設計模式 建造者模式
分為四部分 產品角色,抽象構建者,具體構建者,指揮者 建造者模式 使用者不需要知道具體的構造結構過程,只需要與指揮者進行溝通即可。指揮者根據不同的構建者得到不同的產品。構建者分裝了整個產品的構建,是的產品能夠完整的構建出來。產品角色 public class car 抽象構建者 public int...
Java設計模式 建造者模式
建造者模式就是一步一步的建立乙個複雜的物件,而且允許使用者指定複雜物件的型別和內容。建造者的模式結構一般如下圖所示。builder 類是乙個抽象類,用於定義一些建立子部件的方法,builder類中應該還有乙個 getresult 方法,用於將建立好的部件組裝成乙個產品返回。director 類又稱為...
Java設計模式 建造者模式
建造者 builder 模式,又稱為生成器模式。它是將乙個複雜的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。當採用了建造者模式,使用者就只需要指定需要建造的型別就可以得到想要的最終結果,至於具體的構建過程和構建細節不需要過多知曉。director 指揮者,主要負責排程builder介面...