將乙個複雜物件的構造與它的表示分離,使同樣的構建過程可以建立不同的表示,這樣的設計模式被稱為建造者模式。
依賴倒轉原則,抽象不應該依賴細節,細節應該依賴與抽象
建造者模式的角色定義,在建造者模式中存在以下4個角色:
builder:為建立乙個產品物件的各個部件指定抽象介面。
concretebuilder:實現builder的介面以構造和裝配該產品的各個部件,定義並明確它所建立的表示,並提供乙個檢索產品的介面。
director:構造乙個使用builder介面的物件。
product:表示被構造的複雜物件。concretebuilder建立該產品的內部表示並定義它的裝配過程,包含定義組成部件的類,包括將這些部件裝配成最終產品的介面。
product類
public class product
public void sethead(string head)
public string getbody()
public void setbody(string body)
public string getfoot()
public void setfoot(string foot)
}
builder類
public inte***ce builder
conrectebuilder類
public class concretebuilder implements builder
@override
public void sethead()
@override
public void setbody()
@override
public void setfoot()
@override
public product getproduct()
}
director類
public class director
}
測試類
public class buildertest
}
回顧建造者定義,將複雜物件的構造與表示分離,用上面的例子來說所有的product都是由head,body,foot三部分組成,由director類負責組裝(表示),任何時候director類只需要將這三部分進行組裝然後返回乙個組裝完成的product即可;至於product部件是什麼全部包裝在builder介面中,具體的concretebuilder包裝具體的product部件,而具體的concretebuilder可以由其他人實現,這就是依賴倒轉原則; java設計模式之建造者模式
概念 建造者模式是指把乙個複雜物件的構建和表示分離,就像建房子一樣,每乙個房子的建造流程都是相同的,但是卻會有很多形狀不一,樣式不同的房子,這裡的房子實際上就是房子這個物件的表示,建造的流程就是房子物件的構建 建造者模式的構成部分 1.builder介面 builder介面設計要表示物件的構建流程,...
Java設計模式之建造者模式
builder模式也叫建造者模式或者生成器模式,是由gof提出的23種設計模式中的一種。builder模式是一種物件建立型模式之一,用來隱藏復合物件的建立過程,它把復合物件的建立過程加以抽象,通過子類繼承和過載的方式,動 態地建立具有復合屬性的物件。具體的構建物件 房子 public class h...
JAVA設計模式之建造者模式
分離物件子元件,子元件單獨構造 由builder來負責 和裝配模式 由director負責 從而可以構造出複雜物件。這個模式適用於某個物件構造特別複雜。由於實現了構建和裝配的解耦。不同的構建器,相同的裝配,也可以生產不同的物件的物件 相同的構建器和不同的裝配順序也可以構造不同的物件,這樣實現了構建演...