303
社区成员
1.作业最终的架构设计, 在迭代中的架构调整
2.使用junit的心得体会
3.学习oopre的心得体会
4. 对oopre课程的简单建议
1.
MainClass:程序入口,负责处理输入输出,创建各类Hashmap,同时兼顾处理战斗日志部分。
Adventurer:冒险者类,最大的类,有关冒险者的方法基本在该类中实现。同时兼顾处理雇佣与被雇佣,Hashset实现。
Bag:背包里,用于实现携带与拥有的区分。
Food:用于实现与食物有关的方法。
Store:单例模式,实现商店向冒险者交易的方法。
Bottle:药水瓶类,下置子类:RegularBottle、RecoverBottle和ReinforceBottle。
Equipment:装备类, 下置子类:RegularEquipment、EpicEquipment和CritEquipment。
定义接口如下:
Commodity:价值体接口,实现获得价值体价格,种类和ID的方法。
迭代中的架构变化:
(1)不断在MainClass中添加指令,同时将战斗日志归入其中。
(2)在相应类中不断实现指令。
反思:
1.MainClass类没有弹至demon类,导致主方法大于60行。
2.没有添加雇佣类,不利于迭代。
3.战斗日志没有作为一个单独的类,代码风格不好。
2.
一开始觉得很麻烦。但是在代码量不断加大后,junit作用逐步开始体现,有效帮助debug。
3.
在Java程序开发中,我逐渐感受到面向对象的含义。从一开始C语言的思维定式中不断抽离,不再觉得封装和隐秘是多余的,而是深刻体会到通过方法调用实现各个类之间交流的特别。
4.
程序开发可以采用递进式。大部分同学都是首次接触java,语法不通。所以7次开发的开发量可以由少到多的积累,尤其是降低第一次作业的开发量。