pairwork interface缺点与改进

在上一个BLOG,即pairwork小结中

我提到,我通过计数来判断当前是simple还是cometowork还是leavework

那我是通过什么来计数的呢

相信大家都阅读了代码,并理解了程序逻辑

当一个人到电梯的时候,会发出一个req请求,告诉电梯有一个人来了,在几层,向上还是向下

当一个人进入电梯的时候,会发出一个req请求,告诉电梯他要去几层

显然,这个地方的设计有缺陷

我们假设这一种情况,当一个人来到电梯前,看见向上的按钮已经被按亮了,他会再按一次吗

答案显然是否定的,进入电梯去要去的楼层也是一样

所以,正确的设计应该是当现在这个按键没有被按下时,才发出req请求

也才是真正达到了电梯调度程序是不知道这层楼有多少人的需求的

当然,由于程序设计的缺陷,我也就直接利用这个BUG了

而且,即使没有这个bug,我也可以通过电梯接受过多少次0/1层的req,来判断出当前状态

只是比例设计要通过测试得出,不像现在告诉我们是0.9了

posted @ 2012-10-22 20:30  TJamie  阅读(274)  评论(0编辑  收藏  举报