pairwork interface缺点与改进
在上一个BLOG,即pairwork小结中
我提到,我通过计数来判断当前是simple还是cometowork还是leavework
那我是通过什么来计数的呢
相信大家都阅读了代码,并理解了程序逻辑
当一个人到电梯的时候,会发出一个req请求,告诉电梯有一个人来了,在几层,向上还是向下
当一个人进入电梯的时候,会发出一个req请求,告诉电梯他要去几层
显然,这个地方的设计有缺陷
我们假设这一种情况,当一个人来到电梯前,看见向上的按钮已经被按亮了,他会再按一次吗
答案显然是否定的,进入电梯去要去的楼层也是一样
所以,正确的设计应该是当现在这个按键没有被按下时,才发出req请求
也才是真正达到了电梯调度程序是不知道这层楼有多少人的需求的
当然,由于程序设计的缺陷,我也就直接利用这个BUG了
而且,即使没有这个bug,我也可以通过电梯接受过多少次0/1层的req,来判断出当前状态
只是比例设计要通过测试得出,不像现在告诉我们是0.9了