I have two objects. A Meeting object and an Action object (action raised in a meeting). An Action can also exist independent of a Meeting. I have two ways of linking the Action raised to the Meeting:
1) havea method on Meeting where I pass in the Action object such as "addToMeeting(Action action)". WIthin the internals of the meeting I then link the action to the meeting. For this aproach though the Meeting object needs to know about and use the methods on the Action object so becomes coupled.
2) have a method on Meeting where I just pass the action number to be linked such as "addToMeeting(int actionID)". Great now Meeting object does not need to know anything about Action but......now the code adding the action to the meeting needs to know how to get the action ID so has turned from this "meeting.addToMeeting(action)" to this "meeting.addToMeeting(action.getID())".
For good OO design, which approach shoul dbe used? Or is there a third way....