创建型模式之简单工厂

创建型模式:简单工厂(Simple Factory)模式 简单工厂模式(Simple Factory Pattern)属于创建型模式,它由一个工厂类根据传入的参数(通常是一个字符串或枚举值)来决定创建出哪一种产品类的实例。该模式的核心思想是将对象的创建过程封装在一个工厂类中,客户端无需知道具体的创建细节,只需通过工厂类获取所需的产品对象。简单工厂模式主要包含以下几个角色:工厂角色(Factory)、抽象产品角色(Product)和具体产品角色(Concrete Product)。 阅读详情

1、什么是简单工厂

	简单工厂模式是在创建一个对象时不向客户暴露内部细节,并提供一个创建对象的通用接口。
	
	Tips:简单工厂属于创建型设计模式,但是不属于二十三种设计模式。

2、简单工厂的代码实现

	public class SimpleFactory {
	
	    public Product createProduct(int type) {
	        if (type == 1) {
	            return new ConcreteProduct1();
	        } else if (type == 2) {
	            return new ConcreteProduct2();
	        }
	        return new ConcreteProduct();
	    }
	}


	public class Client {
	
	    public static void main(String[] args) {
	        SimpleFactory simpleFactory = new SimpleFactory();
	        Product product = simpleFactory.createProduct(1);
	        // do something with the product
	    }
	}

3、简单工厂的优缺点

特点:

  • 工厂类包含必要的逻辑判断来选择生产具体产品
  • 用于生产单个产品

优点:

  • 让简单工厂类来决定应该用哪个具体产品类来实例化,实现了对象的创建和使用的分离,实现解耦
  • 在不修改任何客户端代码的情况下更换和增加新的具体产品类,在一定程度上提高了系统的灵活性

缺点:

  • 添加新产品类需要修改工厂类,违背开闭原则
  • 工厂类的职责过重,简单工厂中包含很多的逻辑判断语句,它一旦有问题,整个系统都要出问题
  • 简单工厂的静态方法,使得工厂角色无法形成基于继承的实现(失去了多态)
运维与软件实施课表 运维与软件实施课表 课程 章节编号 章节 课程地址 软件及操作系统基础 ch01 软件及操作系统基础01 实施、运维工程师基本技能:https://blog.youkuaiyun.com/qq_28189423/article/details/82700539 老毛桃制作winPE镜像:https://blog.youkuaiyun.com/qq_2818942... 阅读详情

相关推荐

FoundationPose实战:从零部署到Demo运行全记录

本文详细记录了FoundationPose从零部署到Demo运行的全过程,包括Ubuntu环境配置、项目部署、依赖安装及常见问题解决方案。特别针对复现过程中的关键步骤如CUDA版本选择、Eigen3安装等提供了实用技巧,帮助开发者高效完成FoundationPose的部署与调试。

weixin_27102543的博客 269

《设计模式》——简单工厂

什么是简单工厂? 1、简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,一个抽象的产品类,可以派生出多个具体的产品类,它们都具有共同的父类。 我们再来看下简单工厂模式的UML图: 2、简单工厂模式的构成 工厂类:工厂类是我们的核心类,它负责创建所有实例的内部逻辑,工厂类可以直接被调用创建我们的产品实例。 抽象产品类:简单工厂模式所创建的所有对象的父类,它负责描述所有实例所拥有的公

qq_39857987的博客 335

Python实战:用NumPy实现LU分解与QR分解(附代码对比)

本文深入探讨了使用NumPy实现LU分解与QR分解的实战方法,通过代码对比分析了两种矩阵分解技术的原理、数值稳定性差异及核心应用场景。LU分解适用于高效求解线性方程组,而QR分解凭借其正交化特性,在求解最小二乘问题和处理病态矩阵时更具优势。文章提供了详细的Python代码示例,帮助开发者根据具体问题选择最合适的分解方法。

php55的博客 1218

为什么要用简单工厂

1.什么是简单工厂:        简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。使用简单工厂就是定义了一个创建对象的类,由这个类来封装实例化对象的行为。 2.为什么要用简单工厂:         举例,如果我们要实现从控制台输入数据,根据输入的数据不同生成不同的书籍,例如输入C生成C_book,输入ja

xingyyn78的博客 1390

面向网络攻击行为可视化分析系统实现【WebSocket + 可视化】

本系统主要应用于网站运维管理,它解决了网站运维人员排查网络攻击行为复杂且繁琐等问题,提高了运维人员网络安全分析的效率和准确性。

oNew_Lifeo的博客 1622

Windows报无法成功完成操作,因为文件包含病毒或潜在的垃圾软件的解决方法

Windows报无法成功完成操作,因为文件包含病毒或潜在的垃圾软件的解决方法 在Windows的搜索框中输入Windows安全中心,搜索到后将其打开 点击病毒和威胁防护将鼠标移动到Microsoft Defender防病毒选项处,将定期扫描打开 下滑找到管理设置 先关闭篡改防护,再点击添加或删除排除项 先点击添加排除项,再点击文件,选择报出异常的文件,将其添加到排除项中,过程中会存在跳框确认,皆点击确定,完成后就可以运行报无法成功完成操作,因为文件包含病毒或潜在的垃圾软件异常的文件

123 2万+

创建型模式之简单工厂模式

文章目录1.模式的定义2.简单工厂模式的模式结构3.模式特点4.模式实例5.作业例子及编程实现6.优缺点7.使用简单工厂模式的场合 1.模式的定义 简单工厂模式(Simple Factory Pattern): 又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式 在简单工厂模式中,可以根据参数的不同返回不同类的实例 简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类 2.简单工厂模式的模式结构 3.模式特点 将对象的创建和对象本

CodeReaper的博客 2989

【工具插件类教学】Unity翻书效果插件Book-Page Curl Pro教程

特征: • 从左到右和从右到左翻页 • 与画布缩放器 配合使用 • 可配置的自动翻转脚本 • 支持向页面 添加 UI 元素 • 支持透明页面 • 适用于“世界空间”画布

纯技术流日常开发商业开发记录总结等 3677

简单工厂模式&工厂方法模式&抽象工厂模式的区别及优缺点及使用场景

简单工厂模式&工厂方法模式&抽象工厂模式的区别及优缺点及使用场景简单工厂普通简单工厂多方法简单工厂静态方法简单工厂工厂方法模式抽象工厂模式 工厂模式是java设计模式中比较简单的一个设计模式,但很多地方都用到了工厂模式,(如解析xml中,jdbc连接数据库等)利用好工厂模式对程序的设计很有用处。 工厂模式在一些设计模式的书中分为简单工厂模式,工厂方法模式和抽象工厂模式三类。也有把工...

auuea的博客 4万+

1.2 机器人控制系统软硬件平台

工业机器人的软硬件平台架构是影响工业机器人性能和效率的重要因素。良好的软硬件平台架构可以帮助工业机器人更加稳定和高效地完成工作,提高生产效率。正确的软硬件配置还可以提高工业机器人的灵活性和可靠性,使其能够更好地适应不断变化的生产环境。 同时,工业机器人的软硬件平台架构还可以影响工业机器人的安全性和维护成本。如果软硬件平台架构不合适,工业机器人可能出现故障或安全隐患,需要大量的维护和维修费用。因此,选择适当的软硬件平台架构对于确保工业机器人的高效运行和长期使用是非常重要的。

Galaxy_Robot的博客 2万+

量化 insider 爆料! 散户打板必亏?(打板必看!量化资金如何“隔日砸盘”收割散户)

量化开发 insider 爆料💥 散户追的涨停板📉,可能是机构故意做的陷阱!本文从技术视角拆解“涨停陷阱”,帮你看清市场真实逻辑🧠。

XiaoqiangClub的博客 459

创建型模式之简单工厂模式(Java版)

设计模式概述及分类:https://blog.youkuaiyun.com/qq_34896730/article/details/105324092 面向对象设计原则:https://editor.youkuaiyun.com/md/?articleId=105352240 简单工厂模式1 创建型模式2 简单工厂模式概述3 简单工厂模式结构与实现3.1 简单工厂模式结构3.2 简单工厂模式实现4 简单工厂模式应用实例 ...

qq_34896730的博客 1155

超级详细的GNS3最新版3-2.2.50安装配置教程,网工速度收藏!

你好,这里是网络技术联盟站,我是瑞哥。上周给大家分享了GNS3安装包。周末的时候有小伙伴在安装的时候遇到了一些问题,瑞哥周末特地从头安装了一下GNS3,今天给大家出个安装的教程,每一步的步骤我都截图了下来,希望对大家有所帮助!

网络技术联盟站 1109

【设计模式】创建型模式——简单工厂模式

简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。

小哎呀的博客 1797

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【设计模式】简单工厂方法模式(静态工厂方法模式) 创建型模式

/ 运算接口。

weixin_44131922的博客 1822

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

创建型模式--简单工厂模式

简单工厂模式定义如下:简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。简单工厂模式的要点在于:当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节。

- 1229

创建型模式 之 简单工厂模式

1.介绍     工厂模式属于创建型的设计模式,通过对对象创建过程的封装与屏蔽且暴露一个统一的对外接口,当内部行为发生改变的时对外部的影响较小。例如在Hibernate 换数据库只需换方言和驱动就可以实现数据库支持的切换,Java的Iterator等都是通过工厂模式实现的。工厂模式分为简单工厂模式和抽象工厂模式,本文主要介绍简单工厂模式。   2. 简单工厂模式类图            ...

houkai的博客 315

设计模式——简单工厂模式(创建型)

本文主要介绍了简单工厂模式,包括其定义、结构、实现方式、适用场景、实战示例以及思考。简单工厂模式是一种创建型设计模式,通过工厂类根据参数决定创建哪一种产品类的实例,封装了对象创建的细节,使客户端无需关心具体类的创建逻辑。文章详细阐述了其角色组成、类图、时序图,探讨了两种常见的实现方式,分析了适合与不适合的场景,并提供了 Spring 项目和可插拔式策略工厂的实战示例。最后,还提出了支持 SPI 机制、注解标记策略名称和配置中心切换策略等思考方向。

庄小焱 1596

创建型模式 | 简单工厂模式解析及应用

简单工厂模式一、定义二、特点三、使用场景四、类图五、实战代码步骤1. 创建抽象产品类【Product .java】步骤2. 创建具体产品类【ProductA .java】【ProductB .java】【ProductC .java】步骤3. 创建工厂类【ProductFactory .java】步骤4. 客户端传入不同参数创建不同具体产品类【ClientClass.java】运行截图: 一、定义...

Da_Xiong的博客 665

创建型模式(简单工厂模式)

1. 简单工厂模式( Simple Factory Pattern ) 目录 简单工厂模式( Simple Factory Pattern ) 模式动机 模式定义 模式结构 时序图 代码分析 模式分析 实例 简单工厂模式的优点 简单工厂模式的缺点 适用环境 模式应用 总结 1.1. 模式动机 考虑一个简单的软件应用场景,一个软件系统可以提供...

Again yy 190

【设计模式-2.2】创建型——简单工厂和工厂模式

【设计模式-2.2】创建型——简单工厂和工厂模式

小何的博客 1557

创建型模式—简单工厂模式

函数就是工厂函数,根据传入的产品类型返回不同的产品实例。是实现了该接口的具体产品。

Fanjufei的博客 530

设计模式3——创建型模型(简单工厂、工厂、抽象工厂、单例模式)

​ 增加新的产品等级结构麻烦,需要对原有系统进行较大的修改,甚至需要修改抽象层代码,这显然会带来较大的不便,违背了“开闭原则”。工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。工厂方法模式是简单工厂模式的衍生,解决了许多简单工厂模式的问题。,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是。(3)增加新的产品族很方便,无须修改已有系统,符合“开闭原则”。(2)增加系统中类的个数,复杂度和理解度增加。

baidu_41553551的博客 706

【Java设计模式 设计模式与范式】创建型模式 二:简单工厂模式

当一种产品实现有多种不同的呈现方式或表现形式时,比较适合使用工厂模式,而简单工厂其实能适配我们日常使用的大多数场景,依据我在工作中的体验,工厂模式中几乎只用到了简单工厂。在几种简单工厂的实现中,我觉得多例模式(单例+Map)是最合适的工厂实现模式,它解决了if else这个灾难性问题,下一篇一起来看看工厂方法模式是怎么工作的吧!

MaoLin Tian's Blog 942

创建型模式-简单工厂模式

创建型模式-简单工厂模式 1、简单理解 考虑一个简单应用场景:一个软件系统能够提供多种不同颜色,形状的按钮,这些按钮都源自一个基类,不过在继承基类后不同的子类修改了部分属性从而使得它们可以呈现不同的外观,如果我们希望在使用这些按钮时,不需要知道这些具体按钮类的名字,只需要知道表示该按钮类的一个参数,并提供一个调用方便的方法,把该参数传入方法即可返回一个相应的按钮对象,此时,就可以使用简单工厂模式。 2、模式定义 简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static

weixin_43872231的博客 200

Java创建型设计模式之简单工厂,工厂方法,抽象工厂

在Java的23中设计模式中,其中有创建型的一类创建模式,通常用来抽象封装创建对象来使用的,这一类创建模式是使得客户端调用者不用关心对象是如何创建,统统交给一个叫做“工厂”的对象来创建对应的对象。这样就能做到客户端不与想要创建的对象紧密地耦合,降低耦合度。 1.简单工厂 简单工厂具体来并不属于Java中的23种设计模式中之一,它只是一种对创建对象的简单的封装,只需要传入一个正确的参数,就...

我神级欧文的博客 547
上一篇: Git分支
下一篇: 创建型模式之工厂方法
☞十一
博客等级 码龄9年 8粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值