In my long struggle to get my head around OOP principals, I've been playing with a card game application. And I have a question of how one uses composition and best practices.
To layout the scenario, I currently have the following CFCs: Card: Rank Suit Description Deck: array of Cards Shuffle() Deal() Hand: Array of Cards addCard() removeCard() Player: HAND receiveCard() showCards() Table DECK Array of Players addPlayer() removePlayer() deal() My question is about calling functions on component objects composited inside of other component objects. For example, during the play of a game, it is time for players to play a card, removing it from their hands. What is the best practice to tell the table to get a card from all the players? Do you write a getCard() function in table that calls a getCard() function in player that calls the Hand.removeCard() function. That just seems a bit tightly coupled, but I can't think of any other way to go about it. -------------- Ian Skinner Web Programmer BloodSource www.BloodSource.org Sacramento, CA --------- | 1 | | --------- Binary Soduko | | | --------- "C code. C code run. Run code run. Please!" - Cynthia Dunning Confidentiality Notice: This message including any attachments is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender and delete any copies of this message. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260539 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4

