Uml 在类图(Texas Hold';em)中,卡片和卡片组之间的关系是什么?

Uml 在类图(Texas Hold';em)中,卡片和卡片组之间的关系是什么?,uml,class-diagram,object-relationships,Uml,Class Diagram,Object Relationships,在类图中,卡片和卡片组之间的关系是什么(德州扑克)?我仍在试图理解关系在类图中是如何工作的。如果一副牌是由牌组成的,考虑到移除一副牌会移除这些牌,这难道不是一种组合吗?在这种情况下,您可以移除一张牌组,但仍有一张牌,这将被视为聚合。所以我对这个概念感到难以置信。有人能给我举个例子解释一下吗?开发人员看不到OO的意图。类图应该与实际领域产生共鸣。在德克萨斯Hold'em的域中,一副牌最多包含52张牌,一张牌最多包含一副牌。如果我没记错的话,一张卡片也可以用一只手拿着,或者放在桌子上。这是您应该建模

在类图中,卡片和卡片组之间的关系是什么(德州扑克)?我仍在试图理解关系在类图中是如何工作的。如果一副牌是由牌组成的,考虑到移除一副牌会移除这些牌,这难道不是一种组合吗?在这种情况下,您可以移除一张牌组,但仍有一张牌,这将被视为聚合。所以我对这个概念感到难以置信。有人能给我举个例子解释一下吗?

开发人员看不到OO的意图。类图应该与实际领域产生共鸣。在德克萨斯Hold'em的域中,一副牌最多包含52张牌,一张牌最多包含一副牌。如果我没记错的话,一张卡片也可以用一只手拿着,或者放在桌子上。这是您应该建模的内容,而不是实现细节


虽然人们可以将一副牌和一副牌之间的关系作为一种组合来建模,但我怀疑这会增加任何价值。你最后一次放火烧甲板是什么时候,带着所有的牌?基本上,你从牌组中添加和移除牌,然后洗牌,直到游戏结束。

根据Jim L的描述。我们可以制作以下域模型:

在此模型中,
Deck
Card
之间的关联被建模为组合,因为一张卡是组合的一部分,不能与另一个组合共享(请注意,非共享性是组合的定义特征,而不是生命周期依赖性)

我想补充Jim L.所说的,类图可以用于所有三个建模级别:

  • (解决方案独立)领域建模
  • (与平台无关)设计建模
  • (特定于平台)数据建模

  • 在类图中,可能没有关系。
    Deck
    类可能有一个属性
    Cards
    ,该属性是某种类型的集合,其中项目类型为
    Card