基本概念
建造者模式將乙個複雜物件的構建與它的表示分離,使得同樣的過程可以建立不同的表示。
建造者模式內容
建造者模式一般包含以下內容:
abstractbuilder:抽象介面,用於宣告建造某種物件所需要的方法,需要建立哪些部分。
concretebuilder:具體建造者,實現抽象介面,具體實現建立各個部分的方法,並且提供建立完的物件例項。
director:排程器,用於確定建造物件時的具體步驟,指定需要建立哪些部分。
product:具體的產品物件,包含自己的各部分(即屬性)
**示例
/**
* person類,具有頭部,身體,四肢
*@author yjzhou
* 2016.03.19
*/public
class
person
public string gethead()
public
void
sethead(string head)
public string getbody()
public
void
setbody(string body)
public string getlimb()
public
void
setlimb(string limb)
@override
public string tostring ()
}
/**
* 抽象構建器,宣告構建person物件需要的元件
*@author yjzhou
* 2016.03.19
*/public
inte***ce
abstractbuilder
/***
* man的構建器,實現抽象構建器
*@author yjzhou
* 2016.03.19
*/public
class
manbuilder
implements
abstractbuilder
@override
public
void
buildhead()
@override
public
void
buildbody()
@override
public
void
buildlimb()
@override
public person buildperson()
}
/**
* 排程器,確定創造person物件的具體步驟
*@author yjzhou
* */
public
class
director
}
/***
* 測試建造者模式
*@author yjzhou
* */
public
class
buildertest
}
通過以上的**可以知道,傳遞給排程器物件不同的建造者,就可以得到不同的person物件,示例中建立的事man型別的person,若是想要獲得women型別的person,只需要寫乙個women型別的builder實現abstractbuilder,傳遞給排程器即可,獲得乙個women型別的person物件了。提高了程式的擴充套件性,不必修改原有的**。 設計模式之建造者模式
軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟 設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參考 大話設 計模式 和...
設計模式之建造者模式
建造者模式也叫生成器模式,是一種物件建立型模式,用來隱藏復合物件的建立過程,它把復合物件的建立過程加以抽象,通過子類繼承或過載的方式,動態的建立具有復合屬性的物件。應用場景 物件的建立 builder 模式是為物件的建立而設計的模式 建立的是乙個復合物件 被建立的物件為乙個具有復合屬性的復合物件 關...
設計模式之建造者模式
在做服務介面的時候,往往在業務處理之前需要做業務校驗,格式校驗等業務前處理。這些介面有個相同的特徵,就是必須經過這些處理步驟之後才能做核心的業務處理,拓展的服務介面也必須經過這些處理。基於這個特徵,我們就來分析一下設計模式中,建造者模式。我們先建乙個基礎的服務類 public abstract cl...