#!/usr/bin/python# -*- coding:utf-8 -*-
#建造者基類
class personbuilder():
def buildhead(self):
pass
def buildbody(self):
pass
def buildarm(self):
pass
def buildleg(self):
pass
#胖子class personfatbuilder(personbuilder):
type = u'胖子'
def buildhead(self):
print u'構建%s的頭' % self.type
def buildbody(self):
print u'構建%s的身體' % self.type
def buildarm(self):
print u'構建%s的手' % self.type
def buildleg(self):
print u'構建%s的腳' % self.type
#瘦子class personthinbuilder(personbuilder):
type = u'瘦子'
def buildhead(self):
print u'構建%s的頭' % self.type
def buildbody(self):
print u'構建%s的身體' % self.type
def buildarm(self):
print u'構建%s的手' % self.type
def buildleg(self):
print u'構建%s的腳' % self.type
#指揮者
class persondirector():
pb = none;
def __init__(self, pb):
self.pb = pb
def createpereson(self):
self.pb.buildhead()
self.pb.buildbody()
self.pb.buildarm()
self.pb.buildleg()
def clientui():
pb = personthinbuilder()
pd = persondirector(pb)
pd.createpereson()
pb = personfatbuilder()
pd = persondirector(pb)
pd.createpereson()
return
if __name__ == '__main__':
clientui();
Python設計模式 建造者模式
需求,畫人物,要求畫乙個人的頭,左手,右手,左腳,右腳和身體,畫乙個瘦子,乙個胖子 不使用設計模式 encoding utf 8 author kevinlu1010 qq.com if name name print 畫左手 print 畫右手 print 畫左腳 print 畫右腳 print ...
python設計模式 建造者模式
一 什麼是建造者模式我們想要建立乙個由多個部分構成的物件,而且它的構成需要一步接一步地完成。只有當各個部分都建立好,這個物件才算是完整的。這正是建造者設計模式。二 工廠模式和建造者模式的區別 三 應用案例引入了乙個建造者computerbuilder 乙個指揮者hardwareengineer以及 ...
Python設計模式 建造者模式
建造者模式 將一複雜的構建過程和它的表現分離出來,使同樣的建造過程可以獲取不同的表現。能夠更加精確的控制複雜物件的建立過程,讓使用者可以使用相同的建立過程建立不同的產品。from abc import abcmeta,abstractmethod class toy metaclass abcmet...