建造者模式(builder pattern)使用多個簡單的物件一步一步構建成乙個複雜的物件。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式
抽象建造者:給出乙個抽象介面,定義了需要進行的工作,就像指導手冊一樣
具體建造者:具體的建造者完成抽象方法,返回物件
設計者(指導者):所有提出的需求在設計者這個類裡面都能找得到
產品:製造出來的產品
與工廠模式的區別:建造者模式更加關注與零件裝配的順序
以建造乙個房子為例
抽象建造者
public
inte***ce
build
具體建造者
public
class
workbuilder
implements
build
@override
public
void
makefloor()
@override
public room getroom()
}
設計者
public
class
designer
}
產品
public
class
room
public
void
setwindow
(string window)
public string getfloor()
public
void
setfloor
(string floor)
@override
public string tostring()
}
測試類
public
class
client
}
在建造者模式中,在實際運用的時候往往會省略掉設計者這個角色
其主要是考慮到不向外暴露太多實現細節
使用鏈式構建,使得對外隱藏所有細節,這也是build採用的設計思想
public
class
room
@override
public string tostring()
}
public
class
workbuilder
public workbuilder makewindow
(string window )
public workbuilder makefloor
(string floorcorlor)
public room build()
class
roomparmas
}
public
class
client
}
設計模式之建造者模式
軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟 設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參考 大話設 計模式 和...
設計模式之建造者模式
建造者模式也叫生成器模式,是一種物件建立型模式,用來隱藏復合物件的建立過程,它把復合物件的建立過程加以抽象,通過子類繼承或過載的方式,動態的建立具有復合屬性的物件。應用場景 物件的建立 builder 模式是為物件的建立而設計的模式 建立的是乙個復合物件 被建立的物件為乙個具有復合屬性的復合物件 關...
設計模式之建造者模式
在做服務介面的時候,往往在業務處理之前需要做業務校驗,格式校驗等業務前處理。這些介面有個相同的特徵,就是必須經過這些處理步驟之後才能做核心的業務處理,拓展的服務介面也必須經過這些處理。基於這個特徵,我們就來分析一下設計模式中,建造者模式。我們先建乙個基礎的服務類 public abstract cl...