類圖(德州撲克)中卡和牌組之間的關係是什麼?我仍然試圖瞭解這些關係如何在類圖中起作用。如果一副牌是由牌組成的,考慮到取下牌可以取出牌,這不就是一種組合嗎?有這種情況,你可以刪除一個套牌,但仍然有一張卡,這將被視爲聚合。所以我的想法是這個概念的混亂。有人可以用一個例子向我解釋這個嗎?類圖(德州撲克)中牌和牌之間的關係是什麼?
1
A
回答
1
開發人員忽視了面向對象的意圖。類圖應該與現實世界的領域產生共鳴。在德州撲克的領域,甲板上最多可容納52張卡片,卡片最多可容納1張卡片。如果我記得正確,卡片也可以放在一隻手中,或放在桌子上。這就是你應該建模的東西,而不是實現細節。
雖然人們可以將甲板和卡片之間的關係建模爲構圖,但我懷疑這會增加任何價值。你最後一次點燃甲板的時間是什麼時候,拿着所有的牌?基本上,你從甲板上添加和移除牌,然後洗牌,直到比賽結束。
1
基於吉姆·L的描述,我們可以做出以下域模型:
在這個模型中,Deck
和Card
之間的關聯建模爲一個組合,因爲卡是甲板的一部分,不能與其他卡片共享(注意不可共享性是構圖的決定性特徵,而不是生命週期依賴性)。
我想補充一下吉姆L.說,一個類圖可以在所有三個層次建模的使用:
- (溶液indepnedent)域建模
- (平臺無關)設計造型
- (特定平臺)數據建模
相關問題
- 1. 爲德州撲克撲克牌編碼邏輯子撲克系統
- 2. C++撲克牌類
- 3. 撲克牌開關編程
- 4. iOS撲克牌
- 5. VBA撲克牌
- 6. Python類示例德州撲克效率
- 7. 使用圖像(撲克牌)
- 8. 比較撲克牌中的兩張牌
- 9. 德州撲克數據的關係數據庫結構
- 10. VBScript撲克遊戲 - 我有什麼牌?
- 11. Java中的撲克牌
- 12. Java中的撲克牌
- 13. 填滿撲克牌
- 14. 生成撲克牌套牌Python 3
- 15. 教計算機玩德州撲克
- 16. 德州撲克認出一對
- 17. 主令牌和假冒令牌之間的區別是什麼
- 18. 從撲克牌中抽牌以獲得撲克的蒙特卡羅模擬
- 19. OCR撲克牌視頻流
- 20. java撲克牌陣列
- 21. 一副撲克牌nullpointerexception
- 22. 測試一副撲克牌
- 23. 設置撲克牌值
- 24. 計算撲克牌手
- 25. 創建一副撲克牌
- 26. 分類:撲克牌手[ROYAL FLUSH IS FAILING]
- 27. 使用矢量C++存儲和洗牌一副撲克牌
- 28. 什麼是系統類和PrintStream類之間的關係
- 29. 在Python中爲撲克牌添加值
- 30. 從撲克牌中提取數字
在類圖中,可能沒有關係。一個'Deck'類可能有一個屬性'Cards',它是一個類型集合,其中的項目類型是'Card'。 – jmcilhinney 2014-09-29 23:29:54