位置: 编程技术 - 正文

使用简单工厂模式来进行Python的设计模式编程(使用简单工厂模式的好处)

编辑:rootadmin

推荐整理分享使用简单工厂模式来进行Python的设计模式编程(使用简单工厂模式的好处),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:使用简单工厂模式设计绘制形状的程序,使用简单工厂模式设计几何形状,使用简单工厂模式设计几何形状,使用简单工厂模式设计绘制形状的程序,使用简单工厂模式模拟女娲,使用简单工厂模式模拟女娲造人,如果传入参数M,使用简单工厂模式模拟女娲造人,如果传入参数M,使用简单工厂模式模拟女娲造人,如果传入参数M,内容如对您有帮助,希望把文章链接给更多的朋友!

计模式的目的是让代码易维护、易扩展,不能为了模式而模式,因此一个简单的工具脚本是不需要用到任何模式的。

简单工厂模式又叫静态工厂方法模式,工厂模式家族中最简单的一种模式。这个模式的基本工作方式: 通过一个工厂来决定创建哪种具体的产品实例。

下面是一个简单的工厂实例:

create_animal就是一个工厂,各种动物就是产品,该工厂根据name来决定产出什么动物产品。产品应该具有一个基本特性,同一个工厂出产的所有产品都是一个系列,都具有相同的功能,比如动物都吃食物。

简单工厂模式的好处是可以将产品对象的细节封装在其实现类的内部,改变一个产品对象具体实现不会影响其他产品。可扩展性强,当需要新增产品类型时,只需要添加对应的实现类,然后修改工厂,增加一个判断分支即可。修改工厂函数带来的风险比较低。

另外一个比较典型的适合简单工厂模式的例子是计算器,计算器需要支持各种计算操作,比如加、减、乘、除、平方、立方、平方根、阶乘等等。那么这里的工厂就是要创建各种操作算法对象,每种操作算法对象都支持一个求值方法。

使用简单工厂模式来进行Python的设计模式编程(使用简单工厂模式的好处)

前面提到,每个工厂生产的产品都是一个系列的,因此产品类通常会从同一个抽象基类派生,但不是必须的。

简单工厂模式的组成要素:工厂函数:负责具体产品对象的创建工作,是该模式的核心。当场景比较复杂时,可能需要用一个工厂类来负责产品的创建。以及产品的抽象接口或抽象类、抽象所有产品的公共接口、具体产品类、抽象接口的具体实现类。

缺点:由于工厂类集中了所有实例的创建逻辑,违反了高内聚责任分配原则,将全部创建逻辑集中到了一个工厂类中它所能创建的类只能是事先考虑到的,如果需要添加新的类,则就需要改变工厂类了当系统中的具体产品类不断增多时候,可能会出现要求工厂类根据不同条件创建不同实例的需求.这种对条件的判断和对具体产品类型的判断交错在一起,很难避免模块功能的蔓延,对系统的维护和扩展非常不利;

使用场景:工厂类负责创建的对象比较少;客户只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心;由于简单工厂很容易违反高内聚责任分配原则,因此一般只在很简单的情况下应用。

eg:采用简单工厂模式实现计算器

UML类图如下:

Python解析json文件相关知识学习 JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。它基于JavaScript(StandardECMA-rdEdition-December)的一个子集。JSON采用完全独立于语言的文本格式

通过Python使用saltstack生成服务器资产清单 SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,一般可以理解为简化版的puppet和加强版的func。SaltStack基于Python

Saltstack快速入门简单汇总 saltstack是使用python编写的开源自动化部署与管理工具,拥有良好的扩展性以及优秀的执行效率,配置简单,可以工作在多平台上,经常被描述为Func加强

标签: 使用简单工厂模式的好处

本文链接地址:https://www.jiuchutong.com/biancheng/383357.html 转载请保留说明!

上一篇:Python文件处理(python文件处理方法)

下一篇:Python解析json文件相关知识学习(python3解析json)

  • 借款合同印花税减免优惠政策2023
  • 股票交易印花税降低
  • 消费税入哪个科目
  • 挂车和牵引车如何选
  • 个人生产经营所得税
  • 合作社需要办什么证件
  • 企业注销了,报表的银行存款还有余额
  • 职工退休金计入个人账户
  • 个税专项附加扣除具体怎么操作
  • 增值税逾期未申报的税务怎么处理
  • 证券交易所风险公告怎么写
  • 商场返现活动怎么入账
  • 零税率的发票
  • 房屋租赁可以开住宿费吗
  • 税务开专票遇到四舍五入
  • 小规模纳税人房租发票税率是多少
  • 车间报销费用的会计分录
  • 12月结账写本年累计吗
  • 注册资本金印花税减半征收
  • 外贸出口企业城市排名
  • 增值税抵扣联是什么意思
  • 劳务票一般开几个点
  • 通讯费能开专票吗
  • 如何正确理解新制度经济学与新古典经济学的关系
  • 合并报表怎么抵损益
  • 交税四舍五入差额怎么处理
  • 双系统怎么卸载ubuntu
  • 收到工程结算单,怎么回复不认可
  • 结转基本生产成本
  • 对数据文件操作,进行数据记录的交换都要经过
  • php中的函数可以分为哪几种
  • 新买的苹果电脑需要注意什么
  • php实现文件上传
  • 存货周转率公式怎么算
  • 修改配置文件是什么意思
  • 最薄的索尼微单
  • 卡齐兰加国家公园地理位置
  • 应收账款如何做会计分录
  • php closure类
  • 什么是跨域以及解决方法
  • 工会经费计提按应付职工薪酬借方还是贷方?
  • 金蝶迷你版怎么打印明细账
  • 更正个税申报需要交滞纳金没
  • 收购发票加计扣除会计分录
  • 建筑行业怎样可以评高工
  • 营业执照是什么字体
  • 企业非流动资产包括
  • 营业外收支的账户有哪些
  • 购进免税农产品进项税额计算
  • 当月进项票没有开进来
  • 营业外收入在资产负债表
  • 公司给买员工保险
  • 当月红冲上月开具的增值税
  • 电子商务交易类应用发展现状
  • 收到房租租金下什么科目
  • 公司办公室买的茶叶怎么入账
  • 收到银行承兑汇票后,如何取钱
  • 如何理解出口退税的意义
  • 公司员工垫付款项
  • 物流公司主营业务成本会计分录
  • 银行打对公回单
  • 什么是交易价格指数
  • 会计写数字的技巧和方法
  • win7怎么更改音频输出
  • windowsserver2008r2忘记开机密码怎么办
  • win7系统调亮度怎么调
  • win8系统如何查看电脑内存
  • xp系统如何设置默认软件
  • linux中怎么在文件中添加内容
  • linux如何修改gid
  • win7访问共享文件夹没有权限访问
  • window10显示重启提示
  • opengl 模型视图矩阵
  • Node.js中的construct构造函数
  • Intermediate Unity 3D for iOS: Part 2/3
  • 高仿微信本地图片违法吗
  • python序列结构总结
  • 安卓圆角矩形图标
  • 邮政银行开税票要什么材料
  • 物流公司怎么申请TIR
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设