目標:將乙個複雜物件的構建與表示分離,使同樣的構建過程可以建立不同的表示。
使用場景:典型的kfc兒童餐包括乙個主食,乙個輔食,一杯飲料和乙個玩具(例如漢堡、炸雞、可樂和玩具車)。這些在不同的兒童餐中可以是不同的,但是組合成兒童餐的過程是相同的。
優點:實現:
public class buildertest
/// /// 抽象的建造者,定義了建造者的執行步驟
///
public abstract class builder
/// /// 具體的建造者
///
public class concretebuilder : builder
/// /// 具體實現構建產品的步驟
///
public override void buidpart1()
public override void buidpart2()
public override void buidpart3()
/// /// 返回構建完成的產品
///
///
public override product getresult()
}/// /// 產品
///
public class product
/// /// 安裝零件
///
///
public void addpart(string part)
/// /// 展示產品
///
public void show()
}/// /// 指揮者 指揮某個建造者按照一定的順序組裝產品
///
public class director
/// /// 指揮者開始建造
///
public void consttruct()
}}
Builder 建造者模式
模式定義 builder模式很好地將乙個複雜物件的建立與該物件內部的各個部件的組裝分離開來。它和 abstract factory模式有相似的地方,但是abstract factory主要提供了乙個建立一些列相關或相互依賴的物件的介面,無需知道指定他們具體的類 生產者 而builder模式著重於部件...
建造者模式(Builder)
工廠類模式提供的是建立單個類的模式,而建造者模式則是將各種產品集中起來進行管理,用來建立復合物件,所謂復合物件就是指某個類具有不同的屬性,其實建造者模式就是前面抽象工廠模式和最後的test結合起來得到的。我們看一下 還和前面一樣,乙個sender介面,兩個實現類mailsender和smssende...
建造者模式(Builder)
4 建造者模式 builder 工廠類模式提供的是建立單個類的模式,而建造者模式則是將各種產品集中起來進行管理,用來建立復合物件,所謂復合物件就是指某個類具有不同的屬性,其實建造者模式就是前面抽象工廠模式和最後的test結合起來得到的。我們看一下 建造者類如下 抽象產品類,使用了模板方法模式,不同產...