Практика кодирования, структура папок проекта - PullRequest
3 голосов
/ 20 декабря 2011

В настоящее время я делаю простую игру-менеджер для моделирования больших проектов.Как и сейчас, все мои классы находятся в папке / src, созданной Eclipse.

Я чувствую, что было бы неплохо структурировать мой проект.У меня есть следующие классы:

  • Матч
  • TeamMatch
  • Игрок
  • PlayerFactory
  • Команда
  • TeamFactory
  • TeamSchedule
  • Сезон

Теперь одна идея (и, вероятно, правильная вещь в любом случае!) Будет заключаться в создании интерфейса для матчей и иметь обаMatch и TeamMatch реализуют это.Я думаю, что логическим продолжением было бы иметь папку с именем в честь интерфейса и иметь связанные классы внутри.

Но как насчет классов Player и PlayerFactory?Player имеет основную информацию об игроке, такую ​​как возраст, имя и т. Д. PlayerFactory создает игроков по запросу.Но найти общий интерфейс для этих классов не представляется вероятным!То же самое с TeamFactory.Может быть, все фабричные классы сгруппированы вместе?

Давайте посмотрим на класс Team.Команда состоит из игроков.Должны ли эти два быть сгруппированы вместе?В сезоне есть TeamSchedule, внутри которого есть TeamMatches, в котором, в свою очередь, есть две команды.

Это один из вариантов, о котором я думаю:

  • src
    • match
      • Матч
      • TeamMatch
    • фабрики
      • PlayerFactory
      • TeamFactory
    • лига
      • Сезон
      • Игрок
      • Команда
      • TeamSchedule

Какие-либо предложения, вопиющие ошибки, которые я сделал, или совершенно разные взгляды на эту тему?

Ответы [ 3 ]

4 голосов
/ 20 декабря 2011

Я бы предложил:

создать базовый пакет, который должен иметь имя типа org.managergame.

создать три пакета под базовым пакетом с именем team, match, player.

Match и TeamMatch перейти к пакету match.

Player и PlayerFactory перейти к пакету player.

Team, TeamFactory и TeamSchedule перейти к пакету team.

Все остальное может быть в базовом пакете.

2 голосов
/ 20 декабря 2011

У меня обычно есть пакеты по слоям: model, service, persistence, util.

2 голосов
/ 20 декабря 2011

Не забудьте проверить Соглашения об именах пакетов .

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