无法弄清楚我的域对象设计出了什么问题



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

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

这是我的employee类,它与Seat类有关系

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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新