生活中的程序员思维(二)
在生活中的程序员思维(一)中,讲到了并行、并发、防御式编程等思维,下面继续讲另外三种思维。
同步/异步
公司楼下开了一个饮品店,颇受欢迎。有些公司会大批量购买,作为员工的下午茶。一开始,顾客需要亲自到店、点单、等待饮品做好,最后取走饮品。时间长了,无论是店家还是顾客,都觉得很不方便。对店家来说,突然来了大批订单,然而店里人手有限,此时别的顾客就只能长时间等待了,这导致了顾客体验变差,甚至客源流失。对于顾客来说,需要亲自到店,就地等待饮品加工完成,买的越多,等待时间越长,顾客的时间成本变高了。
这家店主头脑很灵活,很快想到了办法,在店里贴出微信二维码,可以微信下单、送货上门。这么一来,有大批量订单时,店家不必火急火燎地加工,可以优先响应到店的顾客,比以前淡定、从容多了,生意也越来越好。
解读
同步/异步应站在服务者(场景中的饮品店)的角度看,一开始,饮品店同一时间只能接待一个顾客,无论是大批量购买,或少量购买。在服务好一位顾客前,店家不会服务另一位顾客,这就是同步方式:订单处理完成前,不返回结果,也不能处理其它订单。
经过改进,饮品店支持在线下单了。大客户通过微信下单,店家收到订单后立