設計模式(三)建造者模式(建立型)

2021-07-23 07:42:46 字數 1431 閱讀 4062

定義:將乙個複雜的物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。

使用場景:

建立的產品有複雜的內部結構,且建立的產品有較多的共同點,其組成部分相似。隔離複雜物件的建立,使得相同的過程可以建立不同的產品。   

與抽象工廠的區別:

在建造者模式裡,有個指導者,由指導者來管理創造者,使用者是與指導者聯絡的,指導者聯絡建立者得到最後的產品。

角色:

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...