工厂模式(一):简单工厂模式

一、概念

顾名思义,带着工厂,两字肯定就是有标准、快速、统一等等一些工厂独有的特点。

那么什么是简单工厂模式呢?
定义:简单工厂模式是一种创建对象的设计模式,它定义了一个工厂类通过某个静态方法来生成不同类型的对象,而不是直接使用 new 关键字。通过这种方式,可以将对象创建的逻辑集中在一个地方,从而提高代码的可维护性和扩展性。

简单来说就是比方说我想做一批不同图案的衣服,我只需要将必要的图案的信息交给工厂,它就可以给我快速制造出此类衣服。

二、优缺点

优点
  • 封装了对象创建的逻辑,客户端代码不需要了解具体实现。
  • 提高了代码的可维护性和可扩展性,新增产品只需修改工厂类。
缺点
  • 工厂类集中了所有的创建逻辑,如果有很多产品,工厂类会变得庞大,不符合单一职责原则。
  • 不适合需要大量参数或复杂构造过程的对象。
  • 增加新的产品时需要修改工厂类,违反了开放-关闭原则(OCP)。

三、适用场景

简单工厂模式适用于产品数量较少且变化不频繁的场景。通过将实例化逻辑集中在工厂中,可以减少客户端与具体实现之间的依赖,提高系统的灵活性。在实际应用中,可以根据需求和复杂度选择合适的设计模式。

四、实例分析

类结构图

先定义一个 抽象基类 Operation,并且封装了一个getResult()得到结果的方法,同时定义了加减乘除四个子类继承Operation并且实现了各自的getResult()方法。

这里我们添加一个简单工厂类,用来统一生产不同功能的加减乘除方法实例。

使用时只需要

相关推荐
逆境不可逃11 天前
【从零入门23种设计模式01】创建型之工厂模式(简单工厂+工厂方法+抽象工厂)
java·spring·设计模式·简单工厂模式·工厂方法模式·抽象工厂模式·工厂模式
知无不研18 天前
c++的设计模式(常用)
c++·观察者模式·单例模式·设计模式·简单工厂模式
zVGKKTvT21 天前
增程汽车/插电式串联混动汽车Matlab/Simulink软件模型,动力性、经济性仿真计算 1
简单工厂模式
浮生如梦_1 个月前
C# 窗体工厂类 - 简单工厂模式演示案例
计算机视觉·c#·视觉检测·简单工厂模式
她说..1 个月前
策略模式+工厂模式实现订单校验功能
java·spring boot·java-ee·简单工厂模式·策略模式
她说..1 个月前
策略模式+工厂模式实现单接口适配多审核节点
java·spring boot·后端·spring·简单工厂模式·策略模式
hexionly1 个月前
演示工厂模式和策略模式的基本用法
java·简单工厂模式·策略模式·开闭原则
进击的小头1 个月前
创建型模式:简单工厂模式(C语言实现)
c语言·开发语言·简单工厂模式
Geoking.2 个月前
简单工厂模式介绍
设计模式·简单工厂模式
西幻凌云2 个月前
认识设计模式——工厂模式
c++·设计模式·简单工厂模式·抽象工厂模式·工厂模式