Python设计模式 —— 工厂模式

工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。

工厂模式包涵两个抽象类。这两个抽象类提供一个抽象化的接口来创建一个特定类型的对象,而不是决定哪个对象可以被创建。

为了实现此方法,需要创建一个工厂类创建并返回。

当增加一个新的类型,不在需要修改已存在的类,只增加能够产生新类型的子类。

class Car:
    def make(self):
        pass


class Benc(Car):
    def __init__(self, name):
        self.__name = name

    def make(self):
        print("正在生产奔驰 ——"+self.__name)


class Baom(Car):
    def __init__(self, name):
        self.__name = name

    def make(self):
        print("正在生产宝马 ——"+self.__name)


class Factory:
    def makeCar(self):
        return Car()


class bmFactory(Factory):
    def __init__(self, name):
        self.__name = name
        print(">>>>宝马车间")

    def makeCar(self):
        return Baom(self.__name)


class bcFactory(Factory):
    def __init__(self, name):
        self.__name = name
        print(">>>>奔驰车间")

    def makeCar(self):
        return Benc(self.__name)


if __name__ == "__main__":
    factory = bmFactory("BM123")
    bm = factory.makeCar()
    bm.make()

    factory = bcFactory("BC324")
    bc = factory.makeCar()
    bc.make()

ps:感觉写的有点受java的影响,哈哈!

猜你喜欢

转载自blog.csdn.net/yhflyl/article/details/79348962