Trina,
That is one option.
The challenge that you will have with other approaches such as setting a many to may relationship between activities and contacts/companies is that this would be two separate relationships. And probably won't really serve your needs.
The key to the success or failure of the connections approach is to figure out how you need to 'extract' or report to the users the activity relationships. If you can do what you need through connections then give it a try.
There will be some challenges with connections to 'limit' them in the UI to just companies and contacts.