原教程
大話設計模式
設計模式——建造者模式
建造者模式(builder):將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以常見不同的表示
特性: 指揮者(director) 指揮 建造者(builder) 建造 product
建造者模式(builder pattern):將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示
通常使用時 想要建立乙個複雜的物件經過多個步驟,可能還要特定的順序來生成
生成的物件 有不同的表現,物件的構造與表現解耦
# coding:utf-8
import abc
class builder(object):
__metaclass__ = abc.abcmeta
@abc.abstractmethod
def create_header(self):
pass
@abc.abstractmethod
def create_body(self):
pass
@abc.abstractmethod
def create_hand(self):
pass
@abc.abstractmethod
def create_foot(self):
pass
class thin(builder):
def create_header(self):
print '瘦子的頭'
def create_body(self):
print '瘦子的身體'
def create_hand(self):
print '瘦子的手'
def create_foot(self):
print '瘦子的腳'
class fat(builder):
def create_header(self):
print '胖子的頭'
def create_body(self):
print '胖子的身體'
def create_hand(self):
print '胖子的手'
def create_foot(self):
print '胖子的腳'
class director(object):
def __init__(self, person):
self.person = person
def create_preson(self):
self.person.create_header()
self.person.create_body()
self.person.create_hand()
self.person.create_foot()
if __name__=="__main__":
thin = thin()
fat = fat()
director_thin = director(thin)
director_fat = director(fat)
director_thin.create_preson()
director_fat.create_preson()
設計模式之建造者
這兩天事太多了,沒來的及更新。今天早點更新。今天扯建造者模式。大家都知道乙個物件的生成是有過程的。表面上我們看的是new,其實編譯器是有一定細節指令 的。比如我們建房子,需要挖地基,砌牆,上頂等。這些操作步驟不需要我們動手,交給泥瓦工就行了。我們提供的只是,這個宅基地地方,材料等而已。2.引用型別在...
設計模式之建造者模式
軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟 設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參考 大話設 計模式 和...
設計模式之建造者模式
建造者模式也叫生成器模式,是一種物件建立型模式,用來隱藏復合物件的建立過程,它把復合物件的建立過程加以抽象,通過子類繼承或過載的方式,動態的建立具有復合屬性的物件。應用場景 物件的建立 builder 模式是為物件的建立而設計的模式 建立的是乙個復合物件 被建立的物件為乙個具有復合屬性的復合物件 關...