设计模式-工厂模式

一、工厂模式的原理

编程中有很多设计模式,工厂模式就是一种。

  原理:只需要抽象的积累,不需要关心具体的实现层,实现了解耦操作(便于扩展与维护),通过多态,自动调用相对应的方法。

  缺点:新加一个类型,需要添加一批的代码

优点: 1、一个调用者想创建一个对象,只要知道其名称就可以了。 2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。 3、屏蔽产品的具体实现,调用者只关心产品的接口。

缺点:每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖。这并不是什么好事。

# 汽车类
class Car:
    def info(self):
        print('Car父类')

class Audi(Car):
    def info(self):
        print('Audi 汽车')

class Tesla(Car):
    def info(self):
        print('Tesla 汽车')

# 工厂类
class Factory:
    def create(self):
        print('创建汽车,工厂基类')

class AudiFactory(Factory):
    def create(self):
        print('创建Audi汽车')
        return Audi()

class TeslaFactory(Factory):
    def create(self):
        print('创建Tesla汽车')
        return Tesla()


audi = AudiFactory().create().info()

 

posted @ 2018-05-02 22:59  娄先生  阅读(137)  评论(0编辑  收藏  举报
levels of contents