python设计模式-工厂模式

开闭原则:在扩展新类时,不去修改原有的类代码。

工厂模式分为三种:简单工厂、工厂方法和抽象工厂。

思想:将具体产品的创建过程抽象化,外部通过接口获取具体产品,不需要关心产品的具体过程。解耦产品的创建过程和使用过程的复杂度,通过统一的产品工厂来创建具体产品。

一、简单工厂模式

组成:多个产品类,一个工厂类。

由仅有的一个工厂控制各个产品的创建过程,外部client只需调用工厂类即可。

适用场景:产品实例较少,eg不同数据库的连接。

缺点:所有产品的创建过程都放在一个统一的工厂类中。

二、工厂方法模式

组成:每个产品都有一个产品类和一个工厂类(每一个产品工厂都继承自一个统一的抽象工厂),工厂类负责产品的具体创建。外部client需要特定产品时候,需要特定的工程类来创建。适用场景:每个产品由单独的产品工厂实现,可扩展性高。eg网络日志、数据库日志等。

摘自:https://refactoring.guru/design-patterns/factory-method

三、抽象工厂模式

组成:存在多个产品和多个产品工厂,每个产品工厂可以创建多个产品。

适用场景:一个应用包括多个相似的产品,eg:word中的不同按钮等。

摘自:https://refactoring.guru/design-patterns/abstract-factory

未完待续~

发布了64 篇原创文章 · 获赞 24 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qm5132/article/details/102635727