Is there a way to have multiple contacts associated with a Deal (Opportunity)?

Our Deals have multiple contacts that are involved in the decision making process. Is there a way to associate all of the contacts back to the Deal (Opportunity)? This seems like a fairly common scenario for a CRM, so I’m trying to figure out what other companies have done.