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

简单工厂模式

三部分组成

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

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

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

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

工厂方法模式

四部分组成:

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

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

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

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

抽象工厂模式

四个部分组成:

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

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

相关推荐
ZouZou老师2 天前
C++设计模式之抽象工厂模式:以家具生产为例
c++·设计模式·抽象工厂模式
ZouZou老师2 天前
C++设计模式之工厂方法模式:以家具生产为例
c++·设计模式·工厂方法模式
沟通QQ19226383 天前
碳交易机制下的需求响应综合能源系统优化运行模型研究:探索低碳发展路径,实现双碳目标的有效手段
简单工厂模式
Q180809516 天前
基于MATLAB/SIMULINK的异步电动机矢量控制系统探秘
抽象工厂模式
海中有金8 天前
设计模式[2]——抽象工厂模式一分钟说清
设计模式·抽象工厂模式
phdsky8 天前
【设计模式】工厂方法模式
c++·设计模式·工厂方法模式
__万波__8 天前
二十三种设计模式(二)--工厂方法模式
java·设计模式·工厂方法模式
MM_MS9 天前
C# 线程与并发编程完全指南:从基础到高级带详细注释版(一篇读懂)
开发语言·机器学习·计算机视觉·c#·简单工厂模式·visual studio
Q1808095111 天前
静止坐标系下三相构网变换器虚拟同步机控制(VSG)仿真 1、实现静止坐标系下的电压控制型VSG控制
简单工厂模式
__万波__13 天前
二十三种设计模式(三)--抽象工厂模式
java·设计模式·抽象工厂模式