一次過程應該會有這麼幾個 use case:
用戶登錄
浏覽當前牌友情況
加入到一個牌局
退出
玩牌的過程中,主要有這幾個:
確定莊家
發牌
留底
順次出牌(這一段的邏輯需要良好的封裝)
計分,判斷勝負
其它:
用戶之關的聊天交流等
從這個過程裡面去查找類的話,剛才 bigeagle 所提到的幾個類已經基本上概括了:
一個大廳(其實在這裡,大廳應該是包含很多個版桌的)用戶進入大廳後,可以查看各個牌桌的狀態,選擇自己加入到哪個桌子。
table 類(or desk ) table 可以理解為一局的管理者(或者,table 只管顯示),另外用一個類來對牌局進行管理。 這在我們一般的玩牌過程中好像沒有這樣的一個管理者,那是因為一些工作都是我們自己在做了(如發牌、計分等)
撲克本身應該算是一個類型。必須在牌的整體上有一個概念。它能決定一共多少張牌、以及發牌的過程。
牌、用戶等 剛才所說的基本上是這些概念。
其中 大廳是一個服務的概念,需要一個守護進程。而且,可以考慮是一個 “單子”的模式。