建造者模式(builder),將乙個複雜物件的構建與它的表示分離,是的同樣的構建過程可以建立不同的表示建造者在android中,至少也是23種設計模式使用頻率能排進前三的模式了吧。
因為這個模式太常用了所以我就畫個uml圖和寫寫模板**就好了…
建造模式中,主要是builder為乙個建立入口,它可以通過方法初始化資料。
我這邊就寫乙個比較實戰的builder模式的模板好了,構造乙個屬性有名稱、年齡、學校的人的類:
//這是我們產品的類 它是乙個person
public
class
person
private
person
(context context)
public person setname
(string name)
public person setage
(int age)
public person setschool
(school school)
public
void
show()
}
然後客戶端就可以進行鏈式呼叫了:
public
void
main()
建造者模式為每個屬性的構建返回了this,這使得每個屬性都可以分離開進行構建不想構建的屬性可以選擇不構建,想構建哪個就構建哪個建造者模式相比於類的構造方法,它更加靈活(每個構造方法引數是寫死的),並且它減少了初始化開銷,如果是構造方法來構造類,那麼它將會必要的初始化一些值,而這些值如果用不上或者現在用不上後期還要更改,那麼這個初始化的開銷其實就是浪費了。而建造者模式則不會有這些開銷。
鏈式構造寫起來真的很爽的
設計模式之建造者模式
軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟 設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參考 大話設 計模式 和...
設計模式之建造者模式
建造者模式也叫生成器模式,是一種物件建立型模式,用來隱藏復合物件的建立過程,它把復合物件的建立過程加以抽象,通過子類繼承或過載的方式,動態的建立具有復合屬性的物件。應用場景 物件的建立 builder 模式是為物件的建立而設計的模式 建立的是乙個復合物件 被建立的物件為乙個具有復合屬性的復合物件 關...
設計模式之建造者模式
在做服務介面的時候,往往在業務處理之前需要做業務校驗,格式校驗等業務前處理。這些介面有個相同的特徵,就是必須經過這些處理步驟之後才能做核心的業務處理,拓展的服務介面也必須經過這些處理。基於這個特徵,我們就來分析一下設計模式中,建造者模式。我們先建乙個基礎的服務類 public abstract cl...