1. 程式人生 > >python中的工廠設計模式

python中的工廠設計模式

簡單工廠模式相當於是一個4s店中有各種汽車,建立在一個類中,客戶無需知道具體汽車型號,只需要知道汽車類所對應的引數即可。但是工廠的職責過重,而且當型別過多時不利於系統的擴充套件維護。

#現代汽車4s店類
class CarStore(object):

    #示例方法  建立工廠返回工廠物件引用
    def __init__(self):
        self.factory = Factory()

    #實現業務
    def order(self, car_type):
        return self.factory.select_car_by_type(car_type)

#工廠類
class Factory(object):
    #具體實現
    def select_car_by_type(self, car_type):
        if car_type=="索納塔":
            return Suonata()
        elif car_type=="名圖":
            return Mingtu()
        elif car_type=="ix35":
            return Ix35()
#汽車父類
class Car(object):
    def move(self):
        print("車在移動....")
    def music(self):
        print("正在播放音樂....")
    def stop(self):
        print("車在停止....")

#具體汽車類
class Suonata(Car):
    pass

class Mingtu(Car):
    pass

class Ix35(Car):
    pass

car_store = CarStore()
car = car_store.order("索納塔")
car.move()
car.music()
car.stop()