【发布时间】:2014-07-27 09:15:03
【问题描述】:
我最近正在编写一些代码。这是要点 -
class Student {
private String name;
private List<Performance> performances;
}
class Performance {
private Student student;
private List<Integer> perfData;
}
学生和表现具有循环依赖关系。这很糟糕吗?我们如何防止/打破这种情况,而又不会失去查找学生所有表演并将其提供给学生的表演映射的能力。
【问题讨论】:
-
就个人而言,
Student不应该关心他们有什么表现,因为这是由Performance类维护的。可能某种Schedule或PerformancesManager对保存表演列表更有用,这可以提供查找以列出给定Student分配给的表演......作为一个想法。也许,Performance的实例应该有List的Students? -
不,循环依赖本身并不坏,这只是一个建模视角——例如,如果你想对人之间的关系进行建模,其中一个人对象引用了其他人对象(self-参考),那么循环/自反依赖是不可避免的。
-
这是你软件设计的问题。如果你想这样做,那完全没问题。我在软件中看到过一百次类似的事情,并且自己做了。
标签: java