我有两个对象。一个会议对象和一个动作对象(在会议中提出的动作)。动作也可以独立于会议而存在。我有两种方法可以将提出的行动与会议联系起来:
- 在会议上有一个方法,我在其中传入 Action 对象,例如“addToMeeting(Action action)”。在会议的内部,然后我将操作链接到会议。对于这种方法,尽管 Meeting 对象需要了解并使用 Action 对象上的方法,但因此变得耦合。
- 在会议上有一个方法,我只需传递要链接的操作编号,例如“addToMeeting(int actionID)”。现在很好,会议对象不需要知道任何关于动作的信息,但是......现在将动作添加到会议的代码需要知道如何获取动作 ID,所以已经从这个“meeting.addToMeeting(action)”转向到这个“meeting.addToMeeting(action.getID())”。
对于良好的 OO 设计,应该使用哪种方法?或者有没有第三种方法......