架构设计
- 迭代调整与考虑
- 按照指导书要求创建Main,Adventurer,Bottle,Equipment,Food等基础类,按照属性的含义以及方法的功能放入不同的类当中,未考虑类与类之间的联系
- 随着指令的增加,需要更多的类来实现指令,发现类与类之间有许多重复与交叉的部分,可以通过继承与接口的方式来减少代码重写,增强类与类之间的联系
- 指令的实现若具有一定的复杂性,需要应用设计模式才能更为完善地实现指令,例如单例模式即可构造Store类,实现单一实例并直接访问的类,以及观察者模式,定义一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。
- 补充:主函数可以通过调用命令模式来实现指令,建立抽象指令,具体指令(指令对象),但未能完善。
使用junit的心得体会
- 在使用junit单元测试时,通过输入自己的测试代码,利用Assert语句判断输出是否符合自己预期,检测代码是否正确运行,并可以通过查看类,方法,行,分支覆盖率来查看自行编写的代码是否充分测试。
- 直接在主函数中输入测试代码
学习oopre的心得体会
- 以正确输出为目的:刚开始接触java语言感到陌生与害怕,并为使用新的编程环境与gitlab系统而感到担心。在编写代码时仅仅希望完成任务,达到正确输出的目标,未曾有架构的想法,仅有保证代码的可读性与结构整齐。
- 以充分测试为目的:完成代码编写后,仅仅将自己的想法实现出来,但是代码本身仍有巨大的可能性包含bug,故需要充分测试,该部分可以通过junit单元测试实现。
- 以合理架构为目的:逐渐有能力完成上述两个目标后,将注意力放在代码本身的架构上,不断进行重构,会增加整体代码的可读性,减少代码的设计复杂性,使整体代码更容易理解。
- 由上述可知,学习oopre的过程是一个逐渐进步的过程,对java的代码编写,测试方案,完整架构加强认识,产生自己的理解。
对于oopre的简单建议
- 课程刚开始的gitlab使用和编程环境的配置过程可以出相关完整的教程(视频更好)进行指导,帮助同学顺利配置。