242
社区成员




Adventure Bottle Equipment Food
类实现Commodity(价值体)
接口Bottle Equipment Food
类实现Mart(商品)
接口和WearCom(携带价值体)
接口Market
采取单例模式和工厂模式Bottle
和Equipment
具体种类均用继承实现
前几次作业中,由于对层次化架构理解和掌握不透,导致整体的结构并未实现层次化管理:指令处理函数以及很多操作均置于
Main.java
中导致冗长,在第五次迭代时加入Demon.java
,将指令控制的部分移至其中,使Main.java
简洁,同时Demon.java
中的scanner
属性方便测试。
编写junit测试对于维护代码正确性和debug过程有极大的帮助,junit的各项指标如行覆盖率、分支覆盖率可以让我们清晰地知道测试设计的严密性、覆盖的完整性,如果将分支覆盖率提升至100%,那么我们将能测试到几乎所有的细节,几乎可以发现所有可能存在的问题。我也在这几次的作业中尽可能的实现各项测试指标的满覆盖率。在这个过程中,我在设计尽可能完备的测试数据的同时,我思考角度的严谨性和全面性也得到了提升,大大提高了今后debug的能力。
相比于之前学习的C语言这样的面对过程语言:针对某一问题,分析出具体步骤,再按照步骤一步步实现就可以了。而面向对象语言则应时刻履行层次化与模块化的良好的风格,通过对整体的提前分析,使自己的代码拥有科学的良好的架构,将代码组织为可重用、可扩展和易维护的模块化单元,否则将会十分混乱,仅仅只能实现功能性。此外,面向对象语言中对对象的引用就像是C语言中的指针,修改的是所引用对象的内容。