定義:將乙個複雜的物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。
使用場景:
建立的產品有複雜的內部結構,且建立的產品有較多的共同點,其組成部分相似。隔離複雜物件的建立,使得相同的過程可以建立不同的產品。
與抽象工廠的區別:
在建造者模式裡,有個指導者,由指導者來管理創造者,使用者是與指導者聯絡的,指導者聯絡建立者得到最後的產品。
角色:
builder:乙個抽象介面,用於規範定義複雜物件的組成部分。
concretebuilder:實現builder介面,具體化複雜物件的各個部分的建立。
director:指導者角色,呼叫具體建造者來建立複雜物件的各個部分。
product:要建立的複雜物件。
這裡以乙個kfc點餐的案例作為例子,**如下,僅供參考:
產品類定義
public class meal
public void setfood(string food)
public string getdrink()
public void setdrink(string drink)
}
建造者抽象類定義
public abstract class builder
}
具體建造者定義
public class mealbuildera extends builder
public void builddrink()
}
public class mealbuilderb extends builder
public void builddrink()
}
指導者類定義
public class director
public meal construct()
}
客戶端類定義
public static void main(string args)
參考文章: 設計模式(三 建造者模式)
1.建造者模式的作用 1.分離了物件子元件的構建和裝配,構建由builder負責,裝配由director負責。從而可以構 造出複雜的物件。這個模式適用於 某個物件的構建過程複雜的情況下使用。2.由於實現了構建和裝配的解耦。不同的構建器,相同的裝配,也可以做出不同的物件 相同的構建器,不同的裝配順序也...
設計模式(三)建造者模式
定義 建造者模式 builder 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。簡介 建造者模式 builder 是建立乙個複雜物件的建立型模式,將構建複雜物件的過程和它的部件解耦,使得構建過程和部件的表示分離開來。例如我們要diy乙個台式電腦電腦,我們找到diy商家,我...
建立型設計模式 建造者模式
建造者模式的結構 產品角色 抽象建造者 具體建造者 指揮者。相比抽象工廠模式,省掉了抽象產品,多了指揮者。產品class product 抽象建造者 abstract class builder 具體建造者 public class concretebuilder extends builder p...