软件工程学习日志2025.10.13+大作业辛苦费+1

一、引言

今天,我集中学习了软件设计中的简单工厂模式,基于石家庄铁道大学信息学院的实验文档。实验任务是模仿“女娲造人”场景,通过简单工厂模式实现对象的创建。文档的第一页提供了实验的整体框架和说明:

这页文档概述了实验类型、目标和任务,让我对本次学习有了清晰的方向。

二、学习目标

通过本次实验,我旨在掌握以下内容:
• 理解简单工厂模式的动机和适用场景。

• 掌握简单工厂模式的结构,包括产品接口、具体产品和工厂类。

• 能够应用该模式解决实际问题,如模拟对象创建过程。

三、实验内容概述

实验任务为“女娲造人”,要求根据传入参数(M、W或R)返回对应的对象(Man、Woman或Robot)。这体现了简单工厂模式的核心:将对象创建逻辑封装在工厂类中,客户端无需关心具体实现。文档的第2-4页详细提供了代码实现,包括类图、接口定义和客户端调用。

四、代码实现分析

我按照文档步骤实现了代码,并进行了测试:
• 产品接口Person:定义了speak()方法,确保所有产品类具有统一行为。

• 具体产品类:Man、Woman和Robot分别实现Person接口,并重写speak()方法以输出特定信息。

• 工厂类PersonFactory:使用静态方法createPerson(),通过switch语句根据类型参数返回相应对象。这体现了工厂模式的“单一职责”原则。

• 客户端NvwaClient:通过工厂类创建对象并调用方法,验证了模式的灵活性。

代码运行结果如下:

I am a man.
I am a woman.
I am a robot.

这证实了简单工厂模式的成功应用:客户端仅通过参数即可获得不同对象,降低了耦合度。

五、类图与结构分析

文档中提供了类图的文本描述,展示了Person接口与具体产品类之间的继承关系。工厂类作为中心枢纽,隔离了客户端与具体产品的依赖。这种结构强调了“开闭原则”——新增产品类型时,只需扩展工厂类,而无需修改现有代码。

六、心得体会

本次学习让我深刻体会到简单工厂模式的实用价值:
• 优点:简化了对象创建过程,提高了代码的可维护性和可扩展性。例如,若未来需要添加新人物类型(如Child),只需修改工厂类,而客户端代码无需变动。

• 挑战:在实现过程中,我最初忽略了参数检查(如大小写处理),通过文档的默认异常处理提醒了我增强鲁棒性。

• 应用场景:这种模式适用于对象创建逻辑较简单的场景,如工具类或配置管理。但如果产品类型过多,工厂类可能变得臃肿,此时可考虑工厂方法模式。

通过动手编码,我巩固了对模式理论的理解,并提升了Java编程规范意识(如接口命名、异常处理)。
学习日志:简单工厂模式实验

屏幕截图 2025-10-13 214723

posted @ 2025-10-13 21:50  仙人兵马俑  阅读(9)  评论(0)    收藏  举报