Объект с фиксированным списком размеров по сравнению с объектом с несколькими атрибутами - PullRequest
1 голос
/ 16 января 2020

Допустим, вы определяете сущность с именем SoccerTeam со следующими правилами:

  • В каждой команде есть точное число 11 игроков.
  • Заменителей нет .
  • У каждого игрока есть рубашка с номером от 1 до 11.

Как правильно определить это для сущности?

  1. Определите список, который всегда будет иметь 11 значений, где каждое значение соответствует одному номеру рубашки.
  2. Определите одиннадцать атрибутов, каждому из которых соответствует один номер рубашки.

Ответы [ 3 ]

3 голосов
/ 16 января 2020

Я бы использовал HashMap, чтобы у каждого номера рубашки было одно имя игрока. Используя это, вы можете легко изменить его в любое время. Однако для того, чтобы ограничить емкость HashMap, вам нужно будет инкапсулировать ее в объект, с помощью которого вы будете проверять добавление, если достигнута максимальная требуемая емкость. Надеюсь, это поможет

2 голосов
/ 16 января 2020

Вы можете попытаться создать что-то общее, что позже будет проще использовать: - Создайте сущность с именем Player, которая будет содержать "int shirtNumber", и я бы go применил первый подход для хранения данных в команде (создайте список, который будет содержать 11 значений, и значения будут объектами игрока).

0 голосов
/ 16 января 2020

По вашему вопросу, похоже, что есть две модели данных 1. SoccerTeam 2. Player. Чтобы навязать валидации, например, 11 игроков в SoccerTeam, вы можете использовать другие аннотации валидации, чтобы сохранить валидацию и данные отдельно. Например, @Size, @Min, @Max

class SoccerTeam {
  @Size(min= 11, max = 11)
  private List<Player> players;
}

class Player {
  @Min(1)
  @Max(11)
  int shirtNumber;
}

Надеюсь, это вам поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...