我有3个班级, Team
, Game
和 Round
。
Game
包含 Teams
的列表。
Round
包含 Game
的列表。
我要从每个班级创建多个对象。
我应该为此创建另一个类,其中包含每个对象的列表:
GameRepository
TeamRepository
RoundRepository
或者我应该将这些藏品保存在他们自己的班级中?
答案 0 :(得分:2)
记住the single responsibility principle。
我确信你的课程已经有很多方法来管理/控制内部状态。他们需要承担另一项责任吗? 不,他们没有。
存储物品,作为一个收藏品是一项全新的责任,不应该与已经给定的物品混淆。
另一方面,如果Round
包含List<Game>
且Game
将引用Team
,则没有错。但是,您需要确保删除Game
不会影响Team
实例。问题仍然是决定哪个类保留实例,哪个类只是引用它们。
答案 1 :(得分:1)
如果我必须这样做,我会这样做(这些类可以在不同的文件中):
public class Game{
List<Team>teamList;
}
public class Round{
List<Game>gameList;
}
public class Team{
}
这样,如果您有Round的实例,那么您拥有所需的一切