设计模式学习笔记之简单工厂模式

TPS259483AYWPR与PIC24协同实现工业电源路径主动防护 工业嵌入式系统的电源路径并非稳态导线,而是受浪涌、反灌、热插拔、地弹噪声等电应力持续冲击的动态通道。其核心挑战在于瞬态事件(如纳秒级负向尖峰)难以被传统监控手段捕获,却足以触发MCU欠压锁定或系统复位。TPS259483AYWPR作为高精度电子保险丝与反向阻断阀,结合PIC24FJ256GA110的确定性中断响应与模拟外设资源,构建起覆盖物理层防护、信号感知、硬实时决策的三级防御体系。该方案不追求算力升级,而聚焦于电源路径的可预测性、可诊断性与可恢复性,广泛适用于无人值守、宽温运行、高可靠要求的工业现场设备 阅读详情

解耦,此二字时刻牢记在心。虽然我现在还不能透彻地理解这两个字的含义,但心中能有个大概的概念。如代码复用。
简单工厂模式,就是利用继承和多态来解耦。
以《大话设计模式》中此模式的计算器为例,就是先提出一个运算父类,具体的运算类继承自该父类。父类中有计算结果的方法,而子类就负责实现父类中计算结果方法的具体实现。
简单工厂模式在此处的作用是,使用户不用关心具体的子类如何生成,将其交给工厂处理,使用的时候只需使用工厂返回的父类进行操作。

运算父类:

public abstract class Operation {
    private double numberA = 0;
    private double numberB = 0;

    public abstract double getResult();
}

加法子类:

public class OperationAdd extends Operation {
    private double numberA = 0;
    private double numberB = 0;

    public double getResult() {
        return numberA + numberB;
    }
}

乘法子类:

public class OperationMul extends Operation {
    private double numberA = 0;
    private double numberB = 0;

    public double getResult() {
        return numberA * numberB;
    }
}

工厂类:

public class OperatioonFactory {
    public static Operation createOperation(String operation) {

        switch (operation) {
            case "+":
                return new OperationAdd();
            case "*":
                return new OperationMul();
            default:
                return null;
        }
    }
}

具体使用:

public static void main(String[] args) {
    Operation operation = OperationFactory.createOperation("+");
    operation.numberA = 2;
    operation.numberB = 5;
    double res = operation.getResult();
}

简单工厂模式UML图  图片来自《大话设计模式》
图1 简单工厂模式UML图 图片来自《大话设计模式》
总结:
优势:
简单工厂模式就是使用多态并将多态的具体实现细节封装到工厂中,使用时不需关心具体的实现细节。
劣势:
当子类处于不断变化的情况时,会需要频繁的改动工厂类,此时会违反开放关闭原则,需要另辟蹊径了。

Tips:
在编程中时刻记住,使用时不需要关心实现细节,就要求编写代码时一个方法只做一件事并取合适的方法名,这样使用时见名知意。

PyTorch复现PSMNet踩坑全记录:从环境配置到KITTI数据集训练 本文详细记录了使用PyTorch复现CVPR经典立体匹配模型PSMNet的全过程,从环境配置到KITTI数据集训练,特别针对2023年主流软硬件环境中的常见问题提供解决方案。文章重点介绍了PSMNet的金字塔池化模块和堆叠沙漏结构,帮助研究者和工程师快速实现工业级深度估计,节省大量试错时间。 阅读详情

相关推荐

2.实体机安装TrueNAS 方法

访问不了可以使用以下连接:提取码:0927。

Unofficial_user的博客 7433

java设计模式学习笔记之计算器中的简单工厂模式

java设计模式学习笔记之计算器中的简单工厂模式 最近在重温设计模式,偶然看到程杰的《大话设计模式》写的非常不错、通俗易懂,之后的一系列都是学习的笔记,仅此记录。 一、情景回放:某校大二软件工程专业班的《Java程序设计》课上,老师给大伙出了一个题目:用java实现一个简单的计算器功能(用

大力哥的博客 4795

模拟IC版图DRC实战:手把手教你搞定MIM电容天线错误和ESD.10g违例

本文深入解析模拟IC版图中的MIM电容天线错误和ESD.10g违例问题,提供从错误解码到实战修复的完整指南。通过电路图修改、版图优化和验证闭环等步骤,帮助工程师高效解决DRC错误,特别适用于ADC等精密模拟电路设计。文章还分享了高级排错技巧和预防性设计策略,大幅提升流片成功率。

weixin_27697385的博客 295

设计模式学习笔记—简单工厂模式

1.简单工厂模式 1.1 介绍 简单工厂模式属于创建型设计模式,由一个工厂对象的静态方法决定创建出哪一个具体实例。 1.2 优缺点 1.2.1 优点 工厂类负责处理根据不同条件创建具体实例,实例消费类不再需要通过复杂的逻辑创建实例,只需要给工厂类必要的判断条件。明确了各个类的职责,将实例和实例消费类完全解耦。 1.2.2 缺点 所有实例的创建逻辑全部集中在工厂类中,违反了高内聚责任分配原则。当实例...

_ZeroKing的博客 2374

手把手教你RK3568 MIPI屏驱动适配,纯干货!

RK3568 作为一款高性能的多媒体处理器,在嵌入式领域中备受瞩目。它采用了先进的 22nm 制程工艺,搭载四核 Cortex-A55 处理器,这种架构为芯片提供了高效的功耗比,使其在运行各种复杂任务时,既能保证性能,又能有效控制功耗。在实际应用中,无论是多任务处理还是运行大型应用程序,RK3568 都能凭借其四核 Cortex-A55 处理器,实现流畅的操作体验,满足智能设备对高性能和低功耗的需求。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4071

VIVADO IP核之FIR插值器多相滤波仿真

网络上有许多文章介绍FIR低通滤波器的使用,包括仿真。关于FIR低通滤波器的使用,我之前的文章已经介绍过了,本文将继续深入介绍FIR插值器多相滤波的使用方法,并将FIR插值多相滤波的结果与MATLAB仿真计算的结果比较,验证了FIR插值器多相滤波使用正确。

m0_66360845的博客 3382

设计模式之简单工厂模式学习笔记

前言 简单工厂模式,又叫做静态工厂方法模式。属于创建型工厂模式,但是不属于23中设计模式。学习简单工厂模式,是为了更好地学习工厂方法模式。 定义 简单工厂模式,即静态工厂方法模式,是由一个工厂对象决定创建出哪一种产品类型的实例。 结构模型 角色拆解分析: Factory工厂类:简单工厂模式的核心,负责实现创建所有实例的内部逻辑。工厂类中创建产品类的方法可以被外部调用,创建所需的产品对象。 Prod...

墨玉浮白的博客 320

4D毫米波雷达天线设计

多种天线布局方案介绍、天线设计要点介绍

5734

设计模式-简单工厂模式学习笔记

前言:学习书籍《大话设计模式》 简单工厂模式 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 优缺点 优点:满足了可维护性 ...

weixin_30853329的博客 97

100天精通Python(爬虫篇)——第119天:基于selenium实现隐藏浏览器指纹特征(反反爬策略)

1. 什么是浏览器指纹? 2. 爬虫隐藏浏览器指纹特征的好处? 3. 手动打开浏览器指纹情况 4. 无界面模式打开浏览器 5. 脚本隐藏浏览器指纹特征

努力让自己发光,对的人才能迎着光而来 8万+

基于Python的新闻聚合与推荐系统:抓取多新闻网站内容并根据用户兴趣进行个性化推荐

本文介绍了如何使用Python构建一个新闻聚合与推荐系统,涵盖了从新闻数据抓取、用户兴趣建模到推荐算法实现的全过程。通过爬虫技术抓取新闻网站内容,使用TF-IDF、Word2Vec等算法进行内容分析,并通过推荐算法向用户推送个性化的新闻,最终帮助用户快速获取自己感兴趣的信息。你可以根据具体需求,进一步扩展和优化系统。例如,加入更多的推荐算法、优化爬虫的抓取效率、增强前端展示的互动性等。通过本文的指导,您应该能够构建一个完整的新闻聚合与推荐系统,并为用户提供个性化的新闻推荐服务。

2201_76125261的博客 1514

【设计模式学习笔记】简单工厂模式

简单工厂模式 又称为静态工厂模式,提供一个公有的静态工厂方法,返回一个类的实例。 通过工厂我们不必具体去实例化某一个实例对象。只需要传递某些约定的参数,工厂会自动找到该类并将其实例化。 文章目录             简单工厂模式           1. 创建一个接口,接口中定义公用方法。           2. 创建接口对应的实现           3. 创建工厂类 ...

Roger_CoderLife的博客 181

2026年医疗AI的可信革命全栈实现(上)

医疗AI可信化:贝叶斯网络与向量数据库的协同架构 本文探讨2026年医疗AI发展的关键转折点——从追求生成能力转向构建可信决策系统。核心观点认为,医疗AI下一阶段的竞争焦点在于不确定性量化和错误传播约束,而非单纯的问答流畅度。研究提出以Python为开发语言、结合向量数据库与贝叶斯网络的混合架构: 技术分层 语言层(LLM):处理自然语言交互与工具调用 证据层(Milvus/Qdrant):实现可审计的临床知识检索 概率层(pgmpy/PyMC):执行贝叶斯推理与风险路由 治理层:确保权限控制与人工复核机制

AllenLV的博客 1151

大话设计模式学习笔记--简单工厂模式

简单工厂模式(二十三种设计模式之零)

Guo_Mou_Ren的博客 457

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

《设计模式》学习笔记2——简单工厂模式

定义简单工厂模式并不属于GoF(Gang of Four四人组)23中设计模式,有些地方的解释说因为简单工厂模式太简单,所以23中设计模式就没有单独列出。 但是简单工厂模式在实际的应用中却很常用,因此在刘伟老师的《设计模式》一书中就还是列了出来。 简单工厂模式引用书中的定义如下: 简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实

程序员涂小哥的技术博客 3955

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

[学习笔记]设计模式-简单工厂模式

简单工厂模式定义 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 基本简介 实现方式 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。 该模式中包含的角色及其职责 工厂(C...

青云的博客 175

《设计模式》学习笔记之一——简单工厂模式

最近在学《大话设计模式》,这本书确实不错,语言很通俗易懂,特别适用于我们初学者。看了这本书之后才发现原来我在编写软件的时候存在很多的不规范,回想起去年参加信息安全竞赛时,我们编写的软件因为导师的一个小小的不满意,我们只好牺牲几个晚上的休息时间,没办法把软件几乎重新写了一遍。更让人头疼的是,刚把这个问题解决了,导师又提出新的问题。那个过程可真是要命啊!而且离提交软件作品的时...

167

【设计模式】简单工厂模式学习笔记

简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。   简单工厂模式包含如下角色: •Factory:工厂角色 •Product:抽象产品角色 •ConcreteProduct:具体产品角色   某电视机厂专为各知名电视机品牌代工生产各类电视机,当需要海尔牌电视机时只需要在调用该工厂的工厂方法时传入参数“Haier”,需要海信电视机时只

1222

设计模式学习笔记——简单工厂模式

简单工厂模式学习笔记

x_k的专栏 660

【设计模式】学习笔记之简单工厂模式

一、简单工厂模式属于类的创建型模式,又叫静态工厂方法模式,通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 二、模式中包含的角色及其职责: 1.工厂(Creator)角色 简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。 2.抽象(Product)角色 简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共

zm793934739的博客 367

设计模式学习笔记(四):简单工厂模式

1 定义 简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。 因为在简单工厂模式用于创建实例的方法是静态的方法,因此简单工厂模式又被称为静态工厂方法模式,它属于类创建型模式。 尽管简单工厂模式不属于GoF23种设计模式之一,但是实际中用途广泛,并且可以作为学习“工厂方法模式”以及“抽象工厂模式”的基础。 2 结构 由图可知包含以下三个角色: Factory(工厂角色):即工厂类,负责实现创建所有产品实例的

氷泠 412

设计模式学习笔记(一):简单工厂模式

简单工厂模式的学习记录

qq_45820271的博客 768

设计模式学习笔记 简单工厂模式

从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式就是由一个工厂类根据传入的参量决定创建出哪一种产品类的实例。简单工厂模式是工厂 模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现,学习了此模式可以为后面的很多中模式打下基础。 简单工厂模式...

weixin_30501857的博客 72

设计模式学习笔记-简单工厂模式

1、概述 将一个具体类的实例化交给静态工厂方法来实现; 2、模式中的角色 2.1:工厂类(Simple Factory)只包含创建具体类的静态方法; 2.2:抽象类(Map)定义简单工厂要返回的类; 2.3:具体类(BaiduMap,GaodeMap)具体类 3、UML图 4、代码实现 public class...

weixin_34281477的博客 72

设计模式学习笔记(一)—简单工厂模式

设计模式的工厂模式家族中,分别有简单工厂模式,工厂方法模式和抽象工厂模式三种。简单工厂模式是工厂模式家族中最简单实用的一种模式。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。 该模式中包含的角色及其职责 工厂(Creator)角色 简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可...

aiweiga7417的博客 115

设计模式学习笔记二:简单工厂模式

简单工厂模式含义:百度百科

Array7的专栏 1019
上一篇: 设计模式学习笔记之学习背景
下一篇: 设计模式学习笔记之UML符号的简单总结
觅己
博客等级 码龄11年 1粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值