У меня есть ссылка на велосипед в моих проектах затмения - PullRequest
0 голосов
/ 09 января 2019

Я делаю плагины, запрошенные сервером для игры Minecraft, используя API Spigot

В этом API есть класс с именем Player. Для целей этих плагинов (и потому, что так проще) я хотел бы создать свой «собственный класс игрока».

Итак, есть Плагин1, Плагин2 и Плагин3. Я назову их API, фракция и табло.

Плагины API содержат мой собственный класс игрока, у которого есть методы, относящиеся к некоторым другим классам фракций и табло. У SO API есть табло и фракция в зависимости от проектов.
НО, так как мне также нужно использовать свой класс игрока в Scoreboard и Faction, они оба имеют зависимость проекта от API.

В основном Табло -> API <- <b>Фракция НО Фракция <- <b>API и Табло результатов <- <b>API

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

Надеюсь, все было достаточно ясно. Спасибо за любую помощь.

1 Ответ

0 голосов
/ 09 января 2019

Хорошей практикой является разделение общих компонентов, используемых в нескольких проектах, в общую библиотеку. Таким образом, библиотека может быть импортирована в проекты, где это необходимо, и вы избежите циклических зависимостей.

Я бы сказал, извлеките все POJO, как ваш пользовательский Player, в библиотеку и используйте его во всех этих проектах. Создайте новый класс в любом из проектов для той части кода, которая использует другие классы, такие как Scoreboard или Faction. Или используйте интерфейсы и внедрите их в свои проекты.

...