OOpre-课程总结

高宇轩-24371096 2025-11-05 17:00:19

OOpre 课程总结

一、架构设计与迭代演进

简单架构

最终架构

在Main中读取到输入,然后转移到dotask类进行输入处理,Adventurer类进行相应的操作。

架构调整过程

  • 第二次作业:最开始在Main中直接处理输入,完成操作,可扩展性较差。

  • 第三次作业:对Bottle类进行了重构,设置了四个子类对Bottle类进行继承,添加了接口Usable,同时新建Dotask类把输入处理从Main移出。这时候由于感觉物品较少,背包的管理还是在Adventurer里实现的。

  • 第五次作业:对Equipment进行了重构,同时设置Bag类来管理物品,添加Factory来管理各类物品的生成,降低耦合度。

  • 第六次作业:增加Follower和Leader的接口

  • 第七次作业:架构上没有什么调整

    二、JUnit测试的使用体会

  • 开始时我认为这种测试方式不如直接输入数据然后比对输出更加方便,但随着迭代次数增多,每次迭代后可以在原本的Junit上添加或修改,比手动输数据更方便。并且覆盖率的显示可以清晰的看到自己哪里没测试到,debug也更加方便。

  • Junit还影响了我的思维模式,在测试时如果想提高分支覆盖率,就必须考虑到多种特殊情况,从期望结果向上考虑,这种思考让代码更健壮。

  • 随着代码迭代,每次架构调整都需要同步更新测试代码,这也让我意识到代码架构的重要性,低耦合的设计才能更好地维护和测试。

    三、OOpre学习心得

  • 在学习本课程之前我没有接触过java,习惯于用面向过程的思维,关注程序的执行流程,而在学习之后,我逐渐学会了从"对象是什么"的角度思考问题,在设计阶段先识别系统中的对象和它们的职责,关注对象之间的关系而非执行流程。同时,本课程的学习也让我深刻体会到了java语言在大项目开发上具有的优势。

四、课程学习建议

  • 建议可以增加如何设计出可扩展性高,低耦合的代码框架
...全文
44 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

270

社区成员

发帖
与我相关
我的任务
社区描述
2026年北航面向对象设计与构造
java 高校
社区管理员
  • 孙琦航
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧