【设计模式:工厂模式】

目录

工厂模式的特点:

工厂模式种类

简单工厂模式:

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

简单工厂代码:

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

特点:

工厂模式代码:

抽象工厂模式

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

抽象工厂的优点:

抽象工厂模式代码:


工厂模式的特点:

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

工厂模式种类

简单工厂模式:

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

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

简单工厂代码:

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

工厂模式 :

特点:

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

工厂模式代码:

抽象工厂模式

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

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

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

抽象工厂的优点:

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

抽象工厂模式代码:

相关推荐
geovindu18 小时前
rust: Simple Factory Pattern(续)
后端·设计模式·rust·简单工厂模式·创建型模式
喜欢coding的谢同学19 小时前
Go语言常用设计模式基础和实践案例介绍
开发语言·设计模式·golang
sarasuki2 天前
Agent 的记忆有几种?你的名字是?
人工智能·设计模式·agent
geovindu2 天前
rust: Flyweight Pattern
开发语言·后端·设计模式·rust·享元模式·结构型模式
沫璃染墨2 天前
《Linux工程实践篇(一):认识设计模式——从日志系统看策略模式》
linux·c++·安全·设计模式·策略模式
十六宿舍2 天前
【软件设计模式-第一课:基础知识了解】
设计模式·架构·面向对象·软件架构
geovindu3 天前
rust: Facade Pattern
开发语言·后端·设计模式·rust·外观模式
怕浪猫3 天前
面试官让我手写一个 Tool Use,我用了 3 种方案
设计模式·面试·程序员
geovindu3 天前
rust: Abstract Factory pattern
开发语言·后端·设计模式·rust·抽象工厂模式
Carl_奕然4 天前
【智能体】Loop 的四种设计模式之:Event-Driven Loop(2026 最新版)
人工智能·驱动开发·python·设计模式