对简单工厂模式、工厂方法模式、抽象工厂模式的简单理解

简单工厂模式

三部分组成

  • 抽象类
  • 一些抽象类的具体实现类
  • 工厂类

把创建对象的任务交给一个工厂类来实现,对业务进行封装。

优点:实现了任务分离,客户端不用关心业务的具体实现,交由工厂来"生产"。

缺点:违背开闭原则,拓展时要修改工厂类

工厂方法模式

四部分组成:

  • 抽象类
  • 一些抽象类的具体实现类
  • 抽象工厂类
  • 抽象工厂类的实现类

工厂方法模式在简单工厂模式的基础上对工厂进行进一步抽象,定义一个统一的抽象工厂,再设置具体类对应的具体抽象工厂。

优点:新增产品的时候不会修改抽象工厂类,只需要添加一个具体实现类和抽象工厂实现类即可。

缺点:每添加一个产品需要实现2个类,增加了系统复杂度

抽象工厂模式

四个部分组成:

  • 抽象类
  • 一些抽象类的具体实现类
  • 抽象工厂类
  • 抽象工厂类的实现类

抽象工厂模式相比与工厂方法模式,它的每一个抽象类可以生产多种产品的组合,而不是只能生产出一种产品。

相关推荐
周杰伦fans12 天前
C# 中的 简单工厂模式 (Simple Factory)
c#·简单工厂模式
1710orange14 天前
java设计模式:抽象工厂模式 + 建造者模式
java·设计模式·抽象工厂模式
yujkss16 天前
23种设计模式之【抽象工厂模式】-核心原理与 Java实践
java·设计模式·抽象工厂模式
苍老流年16 天前
1. 设计模式--工厂方法模式
设计模式·工厂方法模式
奔跑吧邓邓子16 天前
【C++实战㊵】C++抽象工厂模式:解锁高效对象创建的密钥
c++·实战·抽象工厂模式
charlie11451419117 天前
精读《C++20设计模式》:创造性模式——工厂方法和抽象工厂模式
学习·设计模式·简单工厂模式·工厂方法模式·抽象工厂模式·c++20·嵌套工厂模式
x-ming-code18 天前
Java 工厂模式 + 策略模式实战:工具管理器的设计与实现
java·简单工厂模式·策略模式
new_daimond18 天前
设计模式详解:单例模式、工厂方法模式、抽象工厂模式
单例模式·设计模式·工厂方法模式
bkspiderx18 天前
C++设计模式之创建型模式:抽象工厂模式(Abstract Factory)
c++·设计模式·抽象工厂模式
bkspiderx18 天前
C++设计模式之创建型模式:工厂方法模式(Factory Method)
c++·设计模式·工厂方法模式