北航2023面向对象先导总结

王禹泉-22373011 学生 2023-11-06 02:03:29

BUAA-oopre-总结

经过五次“丝滑”的迭代和两次bug修复,为我们大二上生活留下浓重一笔的面向对象先导课程也迎来了尾声。这篇博客既是对过去九周java学习和面向对象编程思想的总结和再次思考,也为这样一次收获满满的课程体验画上一个完美的句号。

一、架构设计

1、最终架构设计

img

具体说明:

1、Main主函数模块:从标准输入读入指令,调用指令处理模块实现功能。
2、Solve类:集中了不便于直接写入其他类,或者在其它类中重复可以提炼的指令处理方法。
3、Adventure类、Bag类、Fight类:定义了三个大类,包含对应的指令处理方法。
4、Bottle、Equipment、Food、Record、Person、Fightman类:定义新的类型,用于储存大类中的数组元素。
5、Shop类:采用单例模式的设计模式,负责买卖装备部分。
6、细分的三种bottle和equipment分别继承于父类。

2、迭代中的架构调整及考虑

1、第二次迭代新增了Bag和携带的概念,这一次增加了测试覆盖率要求,我在第一次作业中将较多的方法放在了Main类中,
同时标准输入读入也分布在各个方法中,对junit编写产生了较大的影响,因此进行了一次修改,将Main类的大部分方法移除。

2、第四次迭代新增继承和接口的思想,多种类型的bottle和equipment都由对应父类继承产生;同时因为Main类中的分支方法行数过多,
以及Adventure类许多方法冗杂进行了一次优化,将输入和分支部分分开,同时减少因使用Arraylist导致的多处遍历寻值。

3、最后一次迭代引入工厂模式,因为整个体系中只有一个Shop,因此采用单例模式的设计模式。

二、使用junit心得体会

1、这是第一次接触自己写测试的过程,用一种具有高度逻辑性和范式的方法debug或者测试可行性。

2、因为在将来实际开发的时候并不能保证一定有评测机,所以掌握相关方法很重要,包括未来完成各项任务也经常需要用到这项能力。

3、在写junit的过程中最大的难点是分支覆盖率的保证,这一过程同时也有助于我们分析自己代码的简洁性。

4、总的来说,通过这一模块的学习感觉收获颇丰。

三、学习oopre的心得体会

1、首先,就是之前提到的逐渐形成自己写评测的习惯,联合verilog的自动测试给我狠狠地上了一课,认识到了考虑全面,充分测试的重要性。

2、其次就是确实开始了从面向结果向面向对象的转变,开始分模块,分方法,考虑代码风格(扭转C语言时候永远只有一个main的局面)。

3、同时也为java的学习打下了不错的基础,基本掌握了相关的语法,拥有了参与下个学期oo淬炼的底气。

4、最后也提升了自己的算法思维,尤其是考虑多种情况下怎样简化和结构化自己的设计,也开始尝试探索代码风格。

四、对oopre课程的简单建议

1、个人感觉由于与计组重叠,再加上大家刚刚进入专业学院且时间安排紧凑,确实压力较大。可以考虑课程扩张到16周,每次迭代给予两周的任务时间,双周上课。来减轻压力,同时也可以略微上调课程难度。

2、git的使用方法方面希望可以出个更详细的视频教程,因为实际提交过程可以直接使用IDEA,导致常常缺乏相关的训练。

...全文
186 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文介绍了一种基于多目标粒子群算法(MOPSO)的微电网优化调度模型,综合考虑风能、光伏、储能系统、柴油发电机、燃气轮机以及与主电网之间的能量交互等多种分布式能源的协同运行。通过构建以运行成本最小化、碳排放最低化和系统可靠性最优化为目标的多目标优化模型,利用Matlab平台实现MOPSO算法求解,完成对微电网在不同运行场景下的能量管理与调度方案优化。该模型能够有效平衡经济性与环保性之间的关系,适用于含多类型分布式电源的复杂微电网系统,具有较强的工程应用价值和科研参考意义; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及工程技术人员,尤其适合从事微电网、智能电网、综合能源系统、可再生能源集成与优化调度等领域研究的专业人士; 使用场景及目标:①用于多能源耦合微电网系统的协同优化调度研究;②支持多目标智能优化算法在能源系统中的建模与求解实践,帮助用户掌握MOPSO在实际工程问题中的应用方法;③为学术论文复现、毕业设计、科研项目开发提供完整的代码实例与技术支撑; 阅读建议:建议读者结合Matlab代码与理论文档,深入理解目标函数构建、约束条件处理及Pareto最优解集生成机制,重点关注算法参数设置、多目标权衡分析与结果可视化,并可通过调整能源配置或引入新约束进行二次开发与创新研究。

301

社区成员

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

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