先简化一下设计需求:
叫号系统的 Use case 基本上可想像成一个伫列,具有 FIFO 的基本特性
但可透过其他 rule 去调整伫列成员的排序,包含:
1. push (挂号,包含线上挂号)
2. pop (叫号)
3. insert (过号插队)
4. skip (跳号)
其中,skip 又有自己的伫列,并搭配递补的 rule 去让过号的 insert 回主伫列
最后,完成一轮叫号后仍有未到号时
第二轮(包含3456轮)是否依照第一轮的递补 rule 设计
直到伫列 pop 完或者时间到
MVC 的角度来拆解的话:
主伫列、递补、伫列元素都属于 Model
rule 驱使进行的 push、pop、insert、skip 则是 Controller
这里的讨论不涉及 View 但可以想像到:
报到机、护士操作的UI、挂号柜台、线上报到APP等
** 这里使用 MVC 只是帮助思考,非必要 **
会议太无聊,简单分享一下