※ 本文轉寄自 ptt.cc, 文章原始頁面
[討論] 醫院的排隊叫號機怎麼設計比較好
如題
這不是作業,也不是我公司的工作(小弟在數位廣告業當碼農,在台北扣完勞健保大概快四萬QQ)
是剛好有一次去醫院看病的時候想到,醫院的排隊叫號機
好像剛好可以是一個小system design的題目 ?
(小弟非本科年資快兩年,但平常幾乎都在CRUD跟設計TABLE還有接第三方API,所以以下內容
沒意外應該會有很多不太對的地方,希望可以海涵QQ)
就我的理解,醫院的排隊叫號機有以下規則
1.首先是可以線上掛號(checkInOnline),這邊很簡單,反正就是先掛號的優先看病,我這邊為了簡化先不考慮
現場掛號這件事,也假設只有一間醫院,以及一個門診,門診也沒有其他
2.可以過號(skipNumber),也就是現場叫號(callNumber)的時候,如果病人不在,那麼就把他
跳掉,直到他又現場註冊(checkInAgain),重新插入健保卡的時候,排隊叫號機才會
每看三個線上掛號的病人就去看現場註冊的病人,當然當現場線上掛號的病人時,排隊叫號機
就會一直去叫被過號的病人
上面就是我粗淺的規則
然後下面是我的思路:
我決定用物件來區分行為,因為事情好像沒有很複雜所以不引入Interface
我決定區分兩個class分別是 Patient 和 Hospital
Patient有兩個函數分別是
1.checkInOnline
2.checkInAgain (要有基本的防呆,只有被過號了,才能現場註冊,另外看過醫生的話,也不能再次註冊)
這兩個函數都argument都是 Hospital物件
Hospital我一開始有想到優先佇列,只是後來覺得好像直接設成兩個Queue事情好像
比較簡單?
我決定Hosptital要有這幾個Member
int skipNumber=3;
int skipNumberNow=0;
Queue<Patient> normalQueue= new LinkedList<>();
Queue<Patient> skipQueue= new LinkedList<>();
並且要有下面兩個函數
1.callNumber()
2.skipNumber()
說了這麼多,這是我的github,我覺得我真的code寫得很亂很爛
https://reurl.cc/nDEYG8
懶得看github的人
我直接貼code
https://imgur.com/jKRcBmK
https://imgur.com/UW2yp0z
我這邊為了各種防呆,宣告了一堆 flag
感覺程式碼沒有寫的很好
想請問各位先進,有沒有甚麼可以改善的方法,或是思路
謝謝各位年薪三百萬
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.13.10 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1685985884.A.451.html
Re: 回文串
41218
> [討論] 醫院的排隊叫號機怎麼設計比較好
Soft_Job06/06 01:24
35
Re: [討論] 醫院的排隊叫號機怎麼設計比較好
Soft_Job06/06 10:14
218 則留言
empireisme 作者的近期文章
Re: [新聞] 鐵飯碗生鏽 公職報考人數10年減一半
※ 引述《qq326 (夢想當個好爺爺)》之銘言: : 1.媒體來源: : 中時新聞網 : 2.記者署名: : 林欣儀、曾雪蒨/連線報導 : 3.完整新聞標題: : 鐵飯碗生鏽 公職報考人數10年減一半 : 4.完整新聞內文: : 進入公家
[問卦] 林書豪開健身房會賺更多嗎?
林書豪後來回台打籃球 以林書豪的完美身材 如果來台灣開健身房 有機會複製館長的成功之路 發大財嗎? Sent from nPTT on my iPhone 11
Re: [閒聊] 只有一間房的你 還會希望房價漲嗎?
※ 引述《Avandia ()》之銘言: : 房版的人大多應該都在30-40歲區間 : 就算現在買了房 也不可能在這間房住上一輩子吧 : 孩子大了總是要換房的 : 不過目前看起來每個買房的人 : 似乎都迫切希望自家房價大漲 真的匪夷所思 :
17movie
[問片] 囚禁一群年輕女孩的片之前在myvideo(一兩年內) 看到一部片的預告 是一個年輕男子 囚禁一群年輕女孩 是一群不是一個 女主一開始進去的時候 其他女孩都很溫順 不敢反抗男生 後來怎麼找我都找不到這部片了 可能已經下架 或是我當初忘記按到片單 還希望版友幫忙
→
→
推
推
推
→
→
推
→
→
→
→
→
→
推
→
→
→
→
推
→
→
→
→
推
→
→
→
→
推
→
推
→
→
推
→
→
→
→
→
推
→
→
→
推
→
→
→
→
→
→
推