2025OOpre 博客作业

吕子颉-74066206 2025-11-12 16:11:02

一、作业说明

1.架构设计

项目结构图:

img

1.Adventurer:冒险者主体

  • 管理基础属性、物品管理、携带系统和物品所有权。

2.Controller:游戏控制器

  • 处理输入指令
  • 协调各个模块

3.Relations:关系管理

  • 管理adventurer之间的上下级关系
  • 处理雇佣/解雇

4.Item:抽象基类

  • Bottle:HpBottle、DefBottle、AtkBottle、ManaBottle
  • Equipment:Weapon、Sword、MagicBook、Armour
  • Spell:AttackSpell、HealSpell

5.Factory:工厂类

  • 创建各种物品实例

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

1.前期写的架构必须考虑扩展性否则一旦有新功能加入项目就需要把项目架构从头理一遍。
2.工厂模式用于创建实例以及观察者模式用于构建关系管理系统能够显著提升代码的灵活性和可维护性,能用就用。

二、使用JUnit的心得体会

1.JUnit与学习数据结构时debug的方法非常不同,在使用方面我认为就像在学习数据结构,不同的结构对应着不同的场景。同理,不同的debug方法适配不同的项目。
2.在项目迭代过程,JUnit代码仍然能“回收使用”(可复用性),因此对大项目非常友好。

三、学习OOPre的新得体会

1.一开始对面向对象并没有任何的概念至到第一次作业为止,之前对代码的理解仍然停留在C语言面向过程的实现方式。如今已经对面向对象课程有了初步的了解,希望正课千万别虐我。
2.我个人认为面向对象很考验一个人的思维跳脱能力与谨慎编码之间的一个平衡,因为在项目初期时需要考虑到未来可能加入的功能、代码的拓展性,绝对不能局限于眼下需要完成的功能,可同时也不能过度复杂化可能出现的功能导致功能还没有被做出来就出现架构过于复杂的情况。

四、建议

1.作业指导书架构有点复杂,且其中的知识点夹在提交要求和题目描述之间感觉有点格格不入。

...全文
42 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

270

社区成员

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

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