- 博客(4)
- 收藏
- 关注
原创 BUAA OO 2024 Unit3 Summary
JML本单元的主题为的层次化设计,相较于前两个单元的问题抽象与分解、并发程序设计,这单元的难度算是降低了不少吧——所有的方法与接口都由JML规格给出,只需要根据约定、将功能一一实现即可(暂不考虑程序性能的前提下)。在我看来,其实不用太纠结于JML这里有什么毛病,那里有什么毛病,(比如由于其形式化的描述,费了老半天劲写出来的东西自然语言一句话就讲明白了),最主要的一点还是去感受的魅力(规格设计者(架构师)基于规格和需要实现的业务,定义一个类所需管理的数据及其需要满足的约束和实现不同作用的方法。
2024-05-19 17:20:21 839
原创 BUAA OO 2024 Unit2 Summary
在本单元的设计中,考虑到对性能的影响不大(请求数量级为102),以及为了更简单地保证共享资源时的线程安全,绝大部分情况下我是用给方法加锁(即锁住对应实例)。其余部分为了实现其他的互斥操作或者线程同步操作,如将进行重置操作后的乘客“遣返”回主请求队列、进行影子电梯模拟、双轿厢离开交换楼层时通知另一个轿厢,则会使用进行上锁。需要注意的是,后者加锁方式必须仔细考虑获取锁的时候是否会造成死锁问题,也可以使用的tryLock()方法避免这一问题,此处先按下不表。
2024-04-20 19:09:04 859
原创 BUAA OO 2024 Unit1 Summary
随着第三次作业的强测结果公布,这一单元的学习也接近了尾声。从开始的迷茫和手足无措,到最后可以拿出一份层次清晰、结构完整代码,我开始对作业所要求的层次化设计思想有了一定感觉,也体会到编写代码时各个类之间做到有效协同、职责分派之后带来的高效和美观。这些也离不开许多同学在讨论区的想法分享和往年学长学姐的经验总结。下面我将以我的学习总结和心得体会为第一单元的学习画上一个句号。
2024-03-23 18:33:58 983 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人