Java設計模式之建造者模式

2021-09-24 07:21:01 字數 1654 閱讀 7380

建造者模式也被稱為生成器模式,它是建立乙個複雜物件的建立型模式,它將構建複雜的物件過程和它的部件解耦,使構建過程和部件的表示分離開來。例如我們自己要 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負責 從而可以構造出複雜物件。這個模式適用於某個物件構造特別複雜。由於實現了構建和裝配的解耦。不同的構建器,相同的裝配,也可以生產不同的物件的物件 相同的構建器和不同的裝配順序也可以構造不同的物件,這樣實現了構建演...