OO Design and Card Games

Lets look at my favorite OO-Design problem domain: card games. We'll compare the design of two games: Cribbage and Canasta. Why? Because they have three common abstractions: cards, hands, and a score. Overall the player's are dealt cards, form hands, and at some point, accumulate a score. Of course, all …