设计模式

本次实验聚焦Java中简单工厂、工厂方法和抽象工厂三种创建型模式的应用。介绍了各模式算法思想,如简单工厂分离对象创建与操作等。还提及Java操作xml文件的方式,使用DOM进行操作。通过代码实现、调试运行得出结果,总结了各模式优缺点及操作xml的知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


三种基本创建型模式的应用(java)

1.题目分析:
(1)实验内容:本次实验主要是对简单工厂模式、工厂方法模式以及抽象工程模式的实际应用。
(2)算法分析:①简单工厂模式主要算法思想是专门定义一个类来负责创建其他类的实例,是将对象新创建与对象本身操作分离。在简单工厂模式中,可以根据参数的不同来返回不同的类的实例,需注意的是被创建的实例通常有共同的父类。例如,男人、女人、机器人都有一个共同的接口person,他们各有自己的行为方法,但是都继承了person的成员方法。女娲造人则女娲就是一个工厂,他可以根据不同的参数创造不同的生物,因此需要创建一个工厂类personfactory,在工厂中有一个创造函数,根据不同参数产生男人、女人以及机器人类的实例对象。②工厂模式主要算法思想是工厂父类负责定义创建产品对象的公共接口,而工厂子类方负责生成具体的产品对象,将产品类的实例化延迟到工厂子类中完成,及通过工厂子类来确定究竟应该实例化哪一个具体产品类。例如,工厂负责生产空调,美的工厂负责生产美的空调,海尔工厂负责生产海尔空调,于是海尔工厂和美的工厂都应继承工厂类,各自负责生成海尔空调和美的空调的实例对象。
③抽象工厂类主要算法思想是提供一个创建一系列相关或互相依赖的对象的接口。例如,pc工厂生产pc的ram和CPU,mac工厂生产mac的cpu和ram ,pc工厂和mac工厂分别实现computer工厂 接口,负责ram和cpu的生产,pc的cpu和ram类分别负责ram和cpu的运作实现cpu和ram接口。
④JAVA中配置文件xml的应用。Java操作xml文件方式有:①DOM②SAX③DOM4J④JDOM前两种是JAVA官方提供方法,本次实验我用到了DOM对xml文件进行操作。DOM是将整个xml文档中标签看作一个个节点,通过获得节点,来逐个对节点进行操作。在操作过程中需要用到NodeList,Node和NamedNodeMap三个接口,以及Document,DocumentBuliderFactory和DocumentBulider三个类。(具体解析在总结中解释)在本次实验中,我用到了Document中的getElementsByTagName(String)获取包含类名的节点,及Node类的getfirstchlid()得到第一个子节点。
2.具体代码实现
简单工厂方法实现女娲造人
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
工厂方法实现空调生产
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

抽象工厂方法实现各个品牌的cpu和ram生产
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.调试和运行结果以及测试截图
运行结果
简单工厂实现女娲造人
在这里插入图片描述工厂方法实现空调生产

在这里插入图片描述

抽象工厂方法实现cpu和ram的生产
在这里插入图片描述
4.实验总结
通过本次实验我基本掌握了简单工厂模式、工厂方法模式以及抽象工厂模式的相关知识。这三种模式都属于类创建性模式。简单工厂模式是将对象创建和随想本身业务分离,它的优点是无需知道所创建的 产品类名,可引入配置文件xml.但其缺点是在增添新的产品时违反了面向对象的开闭原则。工厂方法模式是父类负责创建产品对象公共接口,而工厂子类分成具体的产品对象,将产品实例化操作延迟到工厂子类中完成。它的优点是增加具体产品需增加具体工厂符合面对对 象的开闭性原则。抽象工厂模式提供一个创建一系列相关或相互依赖的对象的接口,而无从指定它们具体的类,它的优点是隔离了具体类的生成,使客户端并不需要知道什么被创建。当一个产品中的多个对象被设计一起工作时,它能够保证客户端只是用一个产品族中对象,增加新产品族无需修改。而且我还掌握了Java操作xml文件方式有:①DOM②SAX③DOM4J④JDOM前两种是JAVA官方提供方法,本次实验我用到了DOM对xml文件进行操作。DOM是将整个xml文档中标签看作一个个节点,通过获得节点,来逐个对节点进行操作。在操作过程中需要用到NodeList,Node和NamedNodeMap三个接口,以及Document,DocumentBuliderFactory和DocumentBulider三个类。(具体解析在总结中解释)在本次实验中,我用到了Document中的getElementsByTagName(String)获取包含类名的节点,及Node类的getfirstchlid()得到第一个子节点。通过这次实验我得到的感悟是:遇到困难时的心态要平和,冷静地去查找问题并解决问题。注意知识的总结和积累。

内容概要:文章基于4A架构(业务架构、应用架构、数据架构、技术架构),对SAP的成本中心和利润中心进行了详细对比分析。业务架构上,成本中心是成本控制的责任单元,负责成本归集与控制,而利润中心是利润创造的独立实体,负责收入、成本和利润的核算。应用架构方面,两者都依托于SAP的CO模块,但功能有所区分,如成本中心侧重于成本要素归集和预算管理,利润中心则关注内部交易核算和获利能力分析。数据架构中,成本中心与利润中心存在多对一的关系,交易数据通过成本归集、分摊和利润计算流程联动。技术架构依赖SAP S/4HANA的内存计算和ABAP技术,支持实时核算与跨系统集成。总结来看,成本中心和利润中心在4A架构下相互关联,共同为企业提供精细化管理和决策支持。 适合人群:从事企业财务管理、成本控制或利润核算的专业人员,以及对SAP系统有一定了解的企业信息化管理人员。 使用场景及目标:①帮助企业理解成本中心和利润中心在4A架构下的运作机制;②指导企业在实施SAP系统时合理配置成本中心和利润中心,优化业务流程;③提升企业对成本和利润的精细化管理水平,支持业务决策。 其他说明:文章不仅阐述了理论概念,还提供了具体的应用场景和技术实现方式,有助于读者全面理解并应用于实际工作中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值