我是否为集合创建了一个单独的类或将它们存储在同一个类中?

时间:2018-03-05 19:08:47

标签: java oop

我有3个班级, Team Game Round

Game 包含 Teams 的列表。

Round 包含 Game 的列表。

我要从每个班级创建多个对象。

我应该为此创建另一个类,其中包含每个对象的列表:

GameRepository
TeamRepository
RoundRepository

或者我应该将这些藏品保存在他们自己的班级中?

2 个答案:

答案 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的实例,那么您拥有所需的一切