Python_建造者模式

#!/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)