作者:admin | 分类:eth | 浏览:110 | 评论:
AdventureContainer: 冒险者容器类负责管理所有冒险者的创建、删除和查询等操作,。
input这里采用swich-case结构处理指令每个指令对应一个方法方法内实现具体的功能,观察者模式通过上级通知下级下级响应上级的方式实现援助功能, 1. 命令 Main程序的唯一入口将数据读入inputinfo数组之后调用input类的方法处理数据同时input类通过递归下降法解析lr的指令, Usage 接口实现管理Bottle和Spell类,单例模式确保了stone类的唯一性避免了多个实例可能带来的数据不一致问题。
OOpre课程收获 通过OOpre课程的学习我深刻理解了面向对象编程的核心思想和设计模式的应用。
EmployerEmployee雇佣者和被雇佣者的类二者形成观察者模式, MagicBook: 管理魔法书类, Lexer: 词法分析器负责将输入的字符串分割成一个个的单词token并提供给input类进行语法分析,同时Junit测试用例的编写也需要覆盖各种边界情况以确保代码的健壮性, 2. 冒险者系统 Adventurer: 冒险者类包含冒险者的基本属性和方法,通过实战项目可以更好地理解面向对象设计的原则和模式提高解决实际问题的能力, 架构调整及思考 在课程初期采用的是较为简单的结构随着课程的深入类的数量在不断的扩展为了方便管理引入了接口、工厂模式, Factory:工厂类负责统一冒险者携带物品的创建应用工厂模式, 对OOpre课程的建议 增加实战开发机会让同学们将学到的知识应用到实际项目中课上的学习很难做到完全掌握OO的精髓,在实际编码过程中学会了如何将复杂的问题拆解成多个类和模块提高了代码的可维护信性,为了满足援助指令的需求引入了单例模式和观察者模式, OOpre课程总结代码架构 代码架构如图 采用了模块化的思想主要通过三个核心模块来实现架构, ,同时通过Junit测试增强了代码的稳定性, 使用Junit心得体会 Junit通过模块化测试来发现代码可能存在的问题但是对于结构复杂的函数Junit的断言机制常常需要人肉编译会增加时间消耗(例如fight函数)因此在编写代码时尽量将函数拆分成更小的模块方便测试和维护, 3. 物品系统 Item: 接口实现管理Bottle和Equipment类,但是我也同样意识到了自己在设计模式应用上的熟练度较低的问题需要在今后的学习中不断提升。
stone单例模式实现保证全局只有一个stone实例,确保唯一性和一致性。