设计以下类时,应用哪种设计模式最好?
- Deck - addCard, deal, shuffle, getTopCard, removeTopCard, removeAllCards - Hand - addCard, removeCard, getCard,removeAllCards - DiscardPile - addCard, getTopCard, removeTopCard, removeAllCards - MeldPile - addCard, removeAllCards
(MeldPile保存桌子上的所有合并项)
对我来说,getTopCard和removeTopCard只是getCard和removeCard的包装器,因为它只获取卡片的顶部位置,然后将其传递给getCard或removeCard。
我应该使用组合?策略模式?还是只需创建另一个名为CardPile的类,并将其用作上述类的基类?如果您可以提供示例代码,则不胜感激。
- Deck - addCard, deal, shuffle, getTopCard, removeTopCard, removeAllCards - Hand - addCard, removeCard, getCard,removeAllCards - DiscardPile - addCard, getTopCard, removeTopCard, removeAllCards - MeldPile - addCard, removeAllCards
(MeldPile保存桌子上的所有合并项)
对我来说,getTopCard和removeTopCard只是getCard和removeCard的包装器,因为它只获取卡片的顶部位置,然后将其传递给getCard或removeCard。
我应该使用组合?策略模式?还是只需创建另一个名为CardPile的类,并将其用作上述类的基类?如果您可以提供示例代码,则不胜感激。