デザインパターンを適用する次のクラスを設計する際には、どのような方法が最適でしょうか?カードゲームクラス用のOOPデザイン
- デッキからaddCard、契約、シャッフル、getTopCard、removeTopCard、removeAllCards
- 手からaddCard、removeCard、getCard、removeAllCards
- DiscardPileからaddCard、getTopCard 、removeTopCard、removeAllCards
- MeldPileからaddCard、removeAllCards
は(MeldPileは、テーブル内のすべて融合させたを保持している。)私にとっては、私のように、getTopCard
とremoveTopCard
がgetCard
とremoveCard
の単なるラッパーだと思う
カードの一番上の位置を取得した後、getCard
またはremoveCard
に渡します。
構成を使用する必要がありますか?戦略パターン? CardPileという別のクラスを作成し、それを上記のクラスの基本クラスとして使用しますか?これについてサンプルコードを提供できるかどうか本当に感謝します。
最善のアプローチをデッキに対処するためのロジックを実装プレイヤークラスとディーラーのクラスはちょうど書き込みを開始するだろうと思うように私をリードあなたのデザインを自然に進化させることができます。たとえば特定の質問がある場合「プレイヤーがカードをプレイすると、他のプレイは捨てなければならないが、ここでどのようなパターンを使うべきか」というルールを実装しようとしている。答えることができます。 –
+1は「あなたのデザインを自然に進化させる」 – radarbob
「自然発生」クラスを亜原子ベースの基底クラスに変換することに注意してください。クラス階層はあまりにも深刻になり、不必要に一般的で無償な処理が続けられます。自然なデザインの進化が新しい機能を引き出すためのより一般的な基盤を必要とするならば、あなたはいつでもリファクタリングすることができます。 – radarbob