OOpre博客总结

架构

控制

2023-11-03-15-06-52-image.png

数据

2023-11-03-15-18-44-image.png

迭代日志

第二次

添加Main,Adventurer,Bottle,Equipment

每个Adventurer使用HashMap维护所有BottleEquipment

第三次

添加Food

每个Adventurer添加各种物品的背包。Bottle背包使用HashMapTreeSetEquipment使用HashSetFood使用HashMapTreeSet

第四次

添加Log,控制流添加OperationProcessorManager。共启用两个Manager1Manager2,每10个操作打成一包交给一个Manager处理。

Manager维护全局所有AdventurersLogs

第六次

添加RegularBottle,ReinforcedBottle,RecoverBottle,RegularEquipment,CritEquipment,EpicEquipment。启用Manager3管理新的操作。

添加价值属性,并使用继承的方式维护各种子类。

第七次

添加Store。采用工厂模式管理。

junit

管理方法时需要做好参数处理,控制流需要做好封装,便于测试程序的编写。

课程心得

学习完面向对象程序设计先导课程后,我的代码思维方面收获很大。面向对象程序设计的思想是一种更自然的,更贴近现实的思维方式。与以前一直写的面向过程相比,更直观、易理解、易维护。在面向过程编程中,一直强调的是解决问题的具体步骤和过程,而面向对象编程则是把关注点放在了"对象"上,每一个对象都有其特定的属性和行为。这样就使得代码更加模块化,可重用性更高,同时结合git的使用,也更容易进行多人协作开发。面向对象的两个重要概念是继承和多态,这就涉及到后几节课讲的继承和接口。这些特性可以在已有类的基础上建新类,从而减少代码重复,提高效率,还可以抽象共同动作,第一次见感觉很妙。多态可以让我们的不同的子类实现同一个方法,外部在调用不用考虑类型只用注意方法,这更加灵活,减少了复制和粘贴。总而言之oopre的课程打开了一扇新的大门,面向对象相对于面向过程是更形象更可拓展的思维,让我受益匪浅。

一些意见

  • 第六次迭代的设计不够合理,体验不好。课程介绍了接口,还希望设计价值体作为瓶子和武器等的父类,但是一方面这里用接口并不会简化多少代码,另一方面这些改动代码量很大,很多同学考虑到代码量以及这已经是最后两次迭代,都不会考虑这么做。此外雇佣关系dfs的计算也很不合理,这样的计算方式不合实际,显然是为了考察而这么设计,太过刻意。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值