设计模式-工厂模式

Posted 娄先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式-工厂模式相关的知识,希望对你有一定的参考价值。

一、工厂模式的原理

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

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

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

优点: 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()

 

以上是关于设计模式-工厂模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式学习——简单工厂模式工厂模式抽象工厂模式

设计模式简单工厂模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

设计模式学习——简单工厂模式工厂模式抽象工厂模式

设计模式工厂方法模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

设计模式-简单工厂工厂方法模式抽象工厂模式详解

设计模式---工厂模式