oo第二次博客

第五次作业:多电梯调度

这次作业并没有完成.

因为我太菜了,第一次写多线程,有些无从下手,最终放弃了.

第六次作业:IFTTT文件监控

  1. 设计策略

这次的设计比较简单,我每监控一个文件.就生成一个线程.然后对于监控文件,我就递归生成里面的每个类,周二一天就完成了.

对于每个线程,都会实例化一个spy,每个spy类里保存了监控的范围,监控的文件,监控的触发器,任务,其中监控的文件是使用自己创建的snapshot类完成的.

  2.程序结构分析

 

 

  3.bug分析

由于这次设计时,没有考虑到指导书所说的新建文件,结果我的设计无法识别什么文件是新建文件,最终由于设计上的缺陷,无法解决这个bug,万幸对方并没有找出.

第六次作业:出租车

  1. 设计策略

不包括测试线程在内,总共就三个类,调度类,请求类,出租车类.每有一条指令被加入,就由调度类,将该指令存入指令序列,然后每个出租扫描这个队列,一旦有可以被抢单的请求被发现,调用指令内的方法,将该出租车加入该指令保存的队列中,然后再由指令去选择一个出租车去执行该指令.

  2.程序结构分析

  

  

  

  3.bug分析

这次忘记考虑了无效输入的情况,导致无论什么指令加入,都会实例化一个请求对象(空指针的对象),导致了一个会crashbug.

原文地址:https://www.cnblogs.com/cuna/p/8981676.html