先簡化一下設計需求:
叫號系統的 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 只是幫助思考,非必要 **
會議太無聊,簡單分享一下