【23种设计模式之】0.简单工厂模式,1.工厂方法模式,2、抽象工厂模式——概述及适用场景

本文主要是介绍【23种设计模式之】0.简单工厂模式,1.工厂方法模式,2、抽象工厂模式——概述及适用场景,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考网站:工厂模式的作用,为什么要用工厂模式?,23种设计模式全解析
练习源码:https://github.com/liaoooyx/Design-Patterns

工厂模式的好处:

  1. 解耦:把对象的创建和使用的过程分开。工厂类专门负责创建各种产品类,用户只需要考虑使用哪种产品,并通过工厂类创建它。
  2. 高效:如果创建产品的过程都很复杂,需要一定的代码量,而且很多地方都要用到,那么就会有很多的重复代码,通过工厂类统一创建可以避免代码重复问题。
  3. 便于维护:由于创建过程都由工厂统一管理,所以发生业务逻辑变化,只需要在工厂里修改即可。
  4. 向后兼容:如果要新增不同的产品,通过工厂方法模式(使用接口),可以避免修改共厂类

工厂模式的适用场景:

  1. 对象的创建过程/实例化准备工作很复杂,需要初始化很多参数、查询数据库等。
  2. 类本身有好多子类,这些类的创建过程在业务中容易发生改变。

三种工厂模式的区别:

  1. 简单工厂模式:由一个工厂类来生成各种产品类,包括具体工厂类,产品接口,具体产品类。
  2. 工厂方法模式:新增了一个工厂接口来管理各个具体的工厂类。与简单工厂模式相比,工厂方法模式的好处在于,要新增产品时,不需要修改工厂类的代码,而是创建多一个实现了工厂接口的工厂类,以及创建一个实现了产品接口的产品类。(每个工厂创建一个产品)
  3. 抽象工厂模式:与工厂方法相似,但在抽象工厂模式中的工厂接口变成抽象工厂(其实工厂接口也一样),而每个具体的工厂类则负责创建多个产品。简单的说,就是工厂类中多了几个方法,用于创建不同的产品。(即每个工厂代表一条产品线,其中有多个产品。如汽车工厂A:车灯A,车饰A,车轮A,车漆A;汽车工厂B:车灯B,车饰B,车轮B,车漆B)

这篇关于【23种设计模式之】0.简单工厂模式,1.工厂方法模式,2、抽象工厂模式——概述及适用场景的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1072145

相关文章

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示

[word] word设置上标快捷键 #学习方法#其他#媒体

word设置上标快捷键 办公中,少不了使用word,这个是大家必备的软件,今天给大家分享word设置上标快捷键,希望在办公中能帮到您! 1、添加上标 在录入一些公式,或者是化学产品时,需要添加上标内容,按下快捷键Ctrl+shift++就能将需要的内容设置为上标符号。 word设置上标快捷键的方法就是以上内容了,需要的小伙伴都可以试一试呢!

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

大学湖北中医药大学法医学试题及答案,分享几个实用搜题和学习工具 #微信#学习方法#职场发展

今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.快练题 这是一个网站 找题的网站海量题库,在线搜题,快速刷题~为您提供百万优质题库,直接搜索题库名称,支持多种刷题模式:顺序练习、语音听题、本地搜题、顺序阅读、模拟考试、组卷考试、赶快下载吧! 2.彩虹搜题 这是个老公众号了 支持手写输入,截图搜题,详细步骤,解题必备

如何开启和关闭3GB模式

https://jingyan.baidu.com/article/4d58d5414dfc2f9dd4e9c082.html

电脑不小心删除的文件怎么恢复?4个必备恢复方法!

“刚刚在对电脑里的某些垃圾文件进行清理时,我一不小心误删了比较重要的数据。这些误删的数据还有机会恢复吗?希望大家帮帮我,非常感谢!” 在这个数字化飞速发展的时代,电脑早已成为我们日常生活和工作中不可或缺的一部分。然而,就像生活中的小插曲一样,有时我们可能会在不经意间犯下一些小错误,比如不小心删除了重要的文件。 当那份文件消失在眼前,仿佛被时间吞噬,我们不禁会心生焦虑。但别担心,就像每个问题

十五.各设计模式总结与对比

1.各设计模式总结与对比 1.1.课程目标 1、 简要分析GoF 23种设计模式和设计原则,做整体认知。 2、 剖析Spirng的编程思想,启发思维,为之后深入学习Spring做铺垫。 3、 了解各设计模式之间的关联,解决设计模式混淆的问题。 1.2.内容定位 1、 掌握设计模式的"道" ,而不只是"术" 2、 道可道非常道,滴水石穿非一日之功,做好长期修炼的准备。 3、 不要为了

十四、观察者模式与访问者模式详解

21.观察者模式 21.1.课程目标 1、 掌握观察者模式和访问者模式的应用场景。 2、 掌握观察者模式在具体业务场景中的应用。 3、 了解访问者模式的双分派。 4、 观察者模式和访问者模式的优、缺点。 21.2.内容定位 1、 有 Swing开发经验的人群更容易理解观察者模式。 2、 访问者模式被称为最复杂的设计模式。 21.3.观察者模式 观 察 者 模 式 ( Obser

《计算机英语》Unit 1 Computer Overview 计算机概述

期末试卷组成 1、选择20道 2、判断20道 3、词汇翻译(单词+词组,参照课后习题) 4、翻译2道(一道原题,参照作业) SectionA About Computer 关于计算机 algorithm          n.  算法  operate          v.  操作  digital           adj. 数字的  integrated circuit