我有这2个班,有人告诉我,我做错了。
class Employee {
private int employeeID;
private String employeeName;
private Seat employeeSeat;
}
这适用于我的员工类,它与Seat类
有关系class Seat {
private int seatID;
private String seatCode;
private Employee occupant;
}
我还在座位上添加了一个员工属性,因为当我找回座位时,我想确定谁是座位的当前占用者。与我的员工一样,当我检索它时,我想确定员工当前的座位。现在,他们说因为员工有座位属性,座位有员工属性,所以设计很糟糕。
答案 0 :(得分:2)
你必须问那个告诉你错误解释他们的意思的人。它可能是也可能不是,但这取决于整个系统架构和在对象之间导航的要求。
他们的意思可能是你应该拥有一个EmployeeSeat
对象来保存关系以及与该关系有关的任何细节(开始日期,结束日期,小时等等)。但是你必须担心其他问题,例如强制基数限制(员工可以有多个席位,反之亦然)?
答案 1 :(得分:0)
因为在运行时更新关系的一方指向另一个实体并忘记更新另一方(使模型处于不一致状态)的风险通常被认为比使用一个实体的轻微不便更糟糕 - 方向关联。但这并不总是可能的。