1. 程式人生 > >設計模式 建造者模式

設計模式 建造者模式

class Bulider:
    def __init__(self):
        pass
    def wheel(self):
        pass
    def engine(self):
        pass
    def frame(self):
        pass
    def getCar(self):
        pass

class Car:
    def wheel(self):
        return ('這是輪子')

    def engine(self):
        return ('這是發動機')
    def frame(self):
        return ('這是車架')

class BMWBuilder(Bulider):
    car = Car()
    str = ''
    def wheel(self):
        self.str += self.car.wheel() + "\r\n"
    def engine(self):
        self.str += self.car.engine() + "\r\n"
    def frame(self):
        self.str += self.car.frame() + "\r\n"
    def show(self):
        print(self.str)

"""
指揮者排程
"""
class Director:
    def __init__(self, BuildObj):
        BuildObj.wheel()
        BuildObj.wheel()
        BuildObj.wheel()
        BuildObj.wheel()
        BuildObj.engine()
        BuildObj.frame()

class Client:
    car = Car()
    builder = BMWBuilder()
    director = Director(builder)
    builder.show()