Python 实现工厂模式

工厂函数,工厂类对具体的生成环节进行了封装,这样有利于代码的后续扩展,即把功能划分的更具体,4S店只负责销售,汽车厂只负责制造

代码如下:

class CarFactory(object):
    """定义一个生产汽车的工厂,让其根据具体的订单生产车"""

    def createCar(self, typeName):
        if typeName == "伊兰特":
            car = YilanteCar()
        elif typeName == "索纳塔":
            car = SuonataCar()

        return car


class CarStore(object):
    """定义一个销售北京现代车的4S店类"""

    def __init__(self):
        # 设置4S店的指定生产汽车的工厂
        self.carFactory = CarFactory()

    def order(self, typeName):
        # 让工厂根据类型,生产一辆汽车
        car = self.carFactory.createCar(typeName)

        return car

咋一看来,好像只是把生产环节重新创建了一个类,这确实比较像是一种编程习惯,此种解决方式被称作简单工厂模式 

 

你可能感兴趣的:(Python)