使用Enums设计卡类 - 2种不同设计的优点/缺点

时间:2016-01-22 22:10:23

标签: java enums

我正在权衡2种不同的设计来实现Card类。

  • 使用2个不同的枚举:一个用于等级,一个用于诉讼
  • 仅使用1个枚举

    • Ace_Of_Spades
    • Two_Of_Spades
    • (ECT)

我认为第一个设计更灵活,它允许我们 实现我们通常希望在卡片上使用的方法更容易。如果我们只使用一个enum,那么像getRank()这样的方法或比较卡片或对它们进行排序的方法会更麻烦。

我想知道是否有人可以让我更深入地了解设计2与设计1相比的优缺点?

谢谢。

1 个答案:

答案 0 :(得分:0)

我会选择第一个选项。这是卡的两种不同属性,我认为没有任何理由将它们存储在一起。让它们分开是更灵活的。

一般来说,我认为一个字段应该只描述该类的一个特征,所以像'suitAndRank'这样的字段定义错误

相关问题