【设计模式:工厂模式】

目录

工厂模式的特点:

工厂模式种类

简单工厂模式:

简单工厂模式的创建步骤:

简单工厂代码:

[工厂模式 :](#工厂模式 :)

特点:

工厂模式代码:

抽象工厂模式

抽象工厂的主要组成部分:

抽象工厂的优点:

抽象工厂模式代码:


工厂模式的特点:

  1. 便于维护
  2. 解耦合高
  3. 流程复杂

工厂模式种类

简单工厂模式:

简单工厂模式的创建步骤:

  1. 创建一个工厂类,一般在简单工厂中,只有一个工厂类
  2. 在工厂类中添加一个公共的成员函数(工厂函数)以此来创建对象
  3. 创建一个工厂类对象,通过该对象调用该类中的工厂函数,生产一个指定类型的对象

简单工厂代码:

简单工厂模式(一对多的生产原则)适合创建对象不多的情况(创建的对象太多,需要对仅有一个工厂类进行修改,破坏了工厂模式中的封闭原则),当创建对象较多时考虑使用工厂模式(一对一的生产原则)

工厂模式 :

特点:

工厂类中只实现一种对象 ,通俗一点就是:工厂对应只生产一种产品,例如,盐,味精,鸡精的生产都拥有单独的生产工厂。所以工厂模式有多个工厂类

工厂模式代码:

抽象工厂模式

抽像工厂类是一个大类,例如要制造一艘船,船就是一个大类,在大类中把船分为多个组成部分,根据需求,制造不同类型的材料组合一艘船

抽象工厂的主要组成部分:

  1. 抽象工厂
  2. 具体工厂
  3. 产品接口
  4. 具体产品

抽象工厂的优点:

  1. 隔离了产品的具体实现:客户端只需注意产品的接口,不需要了解产品创建的具体实现
  2. 方便产品的整体替换:同一产品的不同实现,只需切换具体工厂
  3. 确保产品一致性:产品的实现都是遵循着一套设计规则的实现

抽象工厂模式代码:

相关推荐
Doris_202310 小时前
代码格式化 使用oxfmt
设计模式·架构·前端框架
Doris_202311 小时前
说一说ESLint+Prettier生效的原理
前端·设计模式·架构
Pomelooooo12 小时前
把 git commit 这件事,彻底交给 AI ——一个工程化 /git-commit 命令的设计与落地
设计模式
invicinble13 小时前
设计模式(类的拓扑结构)(描述总纲)
设计模式·原型模式
invicinble16 小时前
设计模式(类的拓扑结构)(为什么会产生设计模式,以及什么是设计模式)
linux·服务器·设计模式
PersonalViolet18 小时前
模板方法模式实战:重构Agent工具审批,告别重复代码
设计模式·agent
老码观察18 小时前
设计模式实战解读(五):策略模式——干掉 if-else 的优雅方案
java·设计模式·策略模式
解决问题no解决代码问题19 小时前
设计模式分类介绍
java·开发语言·设计模式
烬羽19 小时前
从 Python List 到 LLM 接口:一条被忽视的 AI 入门捷径
设计模式
我爱cope20 小时前
【Agent智能体8 | 反思设计模式-大语言模型反思机制的四个演进阶段】
人工智能·设计模式·语言模型