建造模式的本質:
分離了物件子元件的單獨構造(有builder來負責)和裝配(由diretor負責)。從而可以構造出複雜的物件。這種模式適用於:某個物件的構建過程複雜的情況下使用。
由於實現了構建和裝配的解耦。不同的構建器,相同的裝配,也可以做出不同的物件;相同的構建器,不同的裝配順序也可以做出不同的物件。也就是實現了構建演算法、轉配演算法的解耦,實現了更好的復用。
/**
*北京尚學堂 建造者模式
* @author 萬河歸海
* */
public class airship
public airship()
public airship(engine engine, orbitalmodule orbitalmodule,
escapetower escapetower)
public engine getengine()
public void setengine(engine engine)
public orbitalmodule getorbitalmodule()
public void setorbitalmodule(orbitalmodule orbitalmodule)
public escapetower getescapetower()
public void setescapetower(escapetower escapetower) }
class engine
public string getname()
public void setname(string name)
}class orbitalmodule
public string getname()
public void setname(string name)
}class escapetower
public string getname()
public void setname(string name)
}
public inte***ce airshipbuilder
public inte***ce airshipdirector
public class sxtairshipbuilder implements airshipbuilder
@override
public orbitalmodule orbitalmodulebuilder()
@override
public escapetower escapetowerbuilder()
}
public class sxtairshipdirector implements airshipdirector
@override
public airship directorairship()
}
public class test
}
23種設計模式之建造者模式
主要作用 在使用者不知道物件的建造過程和細節的情況下就可以直接建立複雜的物件。使用者只需要給出指定複雜物件的型別和內容,建造者模式負責按順序建立複雜物件 把內部的建造過程和細節隱藏起來 例子 角色分析 建圖紙 記錄建房的方法,步驟 抽象的建造者 方法 public abstract class bu...
23種設計模式之建造者模式
建造者模式也叫生成器模式,定義如下 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示 類圖如下 在建造者模式中,四個角色如下 product 產品類 通常是實現了模板方法模式,也就是有模板方法和基本方法 builder 抽象建造者 規範產品的組建,一般是由子類實現 concr...
23種設計模式之 建造者模式
又是乙個週三,快要下班了,老大突然拉住我,喜滋滋的告訴我 xx公司很滿意我們做的模型,又簽訂了乙個合同,把賓士 寶馬的車輛模型都交給我們公司製作了,不過這次又額外增加了乙個需求 汽車的啟動 停止 喇叭聲音 引擎聲音都由客戶自己控制,他想什麼順序就什麼順序,這個沒問題吧?又是乙個時間緊,工程量大的專案...