“在代码战争,一些较新的理念会被运用到生活中”。
一个小型会议室里,一位中年男子,戴着金边眼镜,看样子像是项目经理。
他手指着墙壁上投影出的PPT影像。
影像上是一台看起来十分崭新的公交大巴。
“这种大巴已经初步实现无人驾驶,刷脸售票,但有一些细节问题。”
“比如说,到站提醒服务,这个问题的处理一直存在争议”,项目经理扶了扶眼镜。
“杨工,我想听听你的意见”。
“嗯”,坐在台下的杨成站起来,点点头。
“早些年,传统公交车上采取了报站的服务,但是效果并不好”。
“最近,有人提出了另一种更智能的方案:”
“当乘客在公交上选好了座位,他们可以告知软件,在哪个站下车。”
“当公交到达某站,那些选了这个站点的乘客,将会被座位后面的震动引擎及时地通知。”
“如果能结合报站服务,想必效果会更好”,杨成说出自己的看法。
“不错”,项目经理拍了拍手。
“那么,如果要你来实现一个这样的功能,你会如何来考虑呢?”
杨成思考了数秒。
“这个业务由三部分组成:”
“首先,当乘客上车,选好座位,对软件下达指令,根据自己的到站,注册事件”。
“然后,车子到达了目的站,所有注册了该站事件的座位,运行事件处理程序,引起震动,提醒乘客下车”。
“最后,当乘客下车后,对该站的所有事件进行注销”。
“这总的来说,就是一个观察者模式或者说自定义事件模型”。
“很好”,项目经理竖起大拇指。
“设计模式的练习,不是一朝一夕之功。”
“希望你能继续努力!”