建造者模式也被稱為生成器模式,它是建立乙個複雜物件的建立型模式,它將構建複雜的物件過程和它的部件解耦,使構建過程和部件的表示分離開來。例如我們自己要 diy 一台台式計算機。我們找到 diy 商家,這是我們要求這台計算機的cpu
、主機板、或者其他部件都是什麼牌子、什麼配置的,這些部件是可以根據我們自己的需求來變化的。我們只需要提供相關部件的牌子和配置就可以了。對於這種情況我們的可以採用建造者模式,將部件和組裝過程分離,使得構建過程和部件都可以自由拓展,兩者之間的耦合也降到最低。
將乙個複雜的物件結構與它的表示分離,使得同樣的構建過程可以建立不同的表示。建立產品類:我們要組裝一台計算機,計算機被抽象為
computer
類,它有3個部件:cpu、主機板和記憶體,並在裡面提供3個方法分別用來設定cpu
、主機板和記憶體。
public class computer
public void setmmainboard(string mmainboard)
public void setmram(string mram)
}複製**
建立builder類規範產品的建立:商家組裝計算機有一套組裝方法的模版,就是乙個抽象的builder
類,其裡面提供了安裝cpu
、主機板和記憶體的方法,以及組裝成計算機的creact
方法。
public abstract class builder
複製**
建立組裝計算機類:商家實現了抽象的builder
類,mooncomputerbuilder
類用於組裝計算機。
public class mooncomputerbuilder extends builder
@override
public void buildmainboard(string mainboard)
@override
public void buildram(string ram)
@override
public computer create
() }
複製**
建立導演類:統一管理組裝過程。商家就是導演類用來規範組裝計算機的流程規範,先安裝主機板,在安裝cpu
,最後安裝記憶體並組裝完成計算機:
public class director
public computer createcomputer(string cpu, string mainboard, string ram)
}複製**
客戶端呼叫導演類:最後商家用導演類組裝計算機。我們只需要提供自己想要的cpu
、主機板和記憶體就可以了,至於商家怎樣組裝計算機我們無須知道。
public class createcomputer
}複製**
java設計模式之建造者模式
概念 建造者模式是指把乙個複雜物件的構建和表示分離,就像建房子一樣,每乙個房子的建造流程都是相同的,但是卻會有很多形狀不一,樣式不同的房子,這裡的房子實際上就是房子這個物件的表示,建造的流程就是房子物件的構建 建造者模式的構成部分 1.builder介面 builder介面設計要表示物件的構建流程,...
Java設計模式之建造者模式
builder模式也叫建造者模式或者生成器模式,是由gof提出的23種設計模式中的一種。builder模式是一種物件建立型模式之一,用來隱藏復合物件的建立過程,它把復合物件的建立過程加以抽象,通過子類繼承和過載的方式,動 態地建立具有復合屬性的物件。具體的構建物件 房子 public class h...
JAVA設計模式之建造者模式
分離物件子元件,子元件單獨構造 由builder來負責 和裝配模式 由director負責 從而可以構造出複雜物件。這個模式適用於某個物件構造特別複雜。由於實現了構建和裝配的解耦。不同的構建器,相同的裝配,也可以生產不同的物件的物件 相同的構建器和不同的裝配順序也可以構造不同的物件,這樣實現了構建演...