-2

我有这两个课,有人告诉我我做错了。

class Employee {
private int employeeID;
private String employeeName;
private Seat employeeSeat;
}

这是针对与 Seat 类有关系的员工类

class Seat {
private int seatID;
private String seatCode;
private Employee occupant;
}

我还向我的座位添加了一个员工属性,因为当我检索座位时,我想确定谁是座位的当前占用者。我的员工也是如此,当我检索它时,我想确定员工的当前座位。现在,他们说因为员工有座位属性,而座位有员工属性,这是一个糟糕的设计。

4

2 回答 2

2

您必须请告诉您错误的人详细解释他们的意思。它可能是也可能不是,但这将取决于整个系统架构和在对象之间导航的要求。

他们的意思可能是你应该有一个EmployeeSeat对象来保存关系以及与该关系有关的任何细节(开始日期、结束日期、小时等)。但是您必须担心其他问题,例如强制基数约束(员工可以有多个席位,反之亦然)?

于 2016-06-28T01:13:28.900 回答
0

因为在运行时更新关系的一侧以指向另一个实体并忘记更新另一侧(使模型处于不一致状态)的风险通常被认为比使用单向关联的轻微不便更糟糕. 但这并不总是可能的。

于 2016-06-28T12:08:03.777 回答