当前位置: 首页 > article >正文

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

一、概念

顾名思义,带着工厂,两字肯定就是有标准、快速、统一等等一些工厂独有的特点。
那么什么是简单工厂模式呢?
定义:简单工厂模式是一种创建对象的设计模式,它定义了一个工厂类通过某个静态方法来生成不同类型的对象,而不是直接使用 new 关键字。通过这种方式,可以将对象创建的逻辑集中在一个地方,从而提高代码的可维护性和扩展性。
简单来说就是比方说我想做一批不同图案的衣服,我只需要将必要的图案的信息交给工厂,它就可以给我快速制造出此类衣服。

二、优缺点

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

三、适用场景

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

四、实例分析

类结构图
在这里插入图片描述

先定义一个 抽象基类 Operation,并且封装了一个getResult()得到结果的方法,同时定义了加减乘除四个子类继承Operation并且实现了各自的getResult()方法。
在这里插入图片描述
这里我们添加一个简单工厂类,用来统一生产不同功能的加减乘除方法实例。
在这里插入图片描述
使用时只需要
在这里插入图片描述


http://www.kler.cn/news/312225.html

相关文章:

  • Web后端服务平台解析漏洞与修复、文件包含漏洞详解
  • 【Git原理与使用】多人协作与开发模型(2)
  • 杀死端口占用的进程
  • 常用函数式接口的使用
  • 3D GS 测试自己的数据
  • react 甘特图之旅
  • C语言 | Leetcode C语言题解之第405题数字转换为十六进制数
  • SpringBoot 数据库表结构文档生成
  • 深入Redis:核心的缓存
  • 【计算机网络 - 基础问题】每日 3 题(十四)
  • 百易云资产系统 house.save.php SQL注入
  • tomcat知识
  • 【Android】ViewPager
  • 生信初学者教程(三):介绍
  • [Linux] 进程优先级 进程的调度与切换 环境变量详解
  • qt--Qml控件库如何从外部导入
  • 虾皮选品技巧有哪些?超全Shopee选品的方法和技巧分享!
  • C#无标题栏窗体拖动
  • 物联网开发+充电桩管理系统+充电桩系统源码
  • 【北京迅为】《STM32MP157开发板使用手册》- 第四十二章 事件实验
  • Java设计模式—面向对象设计原则(四) ----->接口隔离原则(ISP) (完整详解,附有代码+案例)
  • 基于JavaWeb开发的java+Springboot操作系统教学交流平台详细设计实现
  • 探索AI大模型的未来:电信运营商与云服务商的新征途@附58页PDF文件下载
  • liunx 计划任务
  • VRRP协议原理
  • 《计算机网络名词解释》
  • 【Python报错已解决】ModuleNotFoundError: No module named ‘paddle‘
  • 量化交易软件、接口、API、区别、用法,有什么好用的么
  • Vue2中路由的介绍和使用
  • UDS诊断-面试题2