我想让BarService获取与某些Foo相关联的Bar实例的Set。现在我有以下代码,我认为在概念上是不好的。
public class Foo {
Set<Bar> bars;
public Set<Bar> getBars() {
if (bars == null)
return ( bars = new HashSet() );
return bars;
}
}
public class BarServiceImpl {
public List<Bar> getListOfBars(Foo foo) {
return new ArrayList(foo.getBars());
}
}
有三个问题:
1. 在哪里更好地初始化Foo的Set?
2. 为此类目的使用哪些特定的Sets和Lists更好?
3. 我当前的实现存在哪些概念问题,如何做得更好?