我的日食项目中有自行车参考

时间:2019-01-09 18:21:44

标签: java bukkit cyclic-reference

我正在使用API​​ Spigot

制作服务器请求的游戏Minecraft插件。

此API中有一个名为Player的类。出于这些插件的目的(并且因为它更简单),我希望创建自己的“播放器类”。

因此有Plugin1,Plugin2和Plugin3。我将它们命名为API,Faction和Scoreboard。

API插件包含我自己的播放器类,该类具有引用其他一些Faction和Scoreboard类的方法。 SO API在项目依赖项中具有记分板和Faction。
但是,因为我还需要在记分板和Faction中使用我的自定义播放器类,所以它们都对API有项目依赖性。

基本上记分板-> API <-派系派系 <- API 记分板 <- API

所以我这里有骑自行车的问题。而且我不知道如何解决它,因为我想要一些明确且分开的项目。
我认为这并不是一个大问题,因为一切看起来都很稳定,但是我进行了一些研究,发现这确实是一个问题。

我希望已经足够清楚了。感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

将跨多个项目使用的通用组件分离到共享库中是一个好习惯。这样,可以在需要时将库导入项目中,从而避免循环依赖。

我想说像您的自定义Player一样提取所有POJO到一个lib中,并在所有这些项目中使用它。在任何项目中为利用了ScoreboardFaction之类的其他类的代码部分创建一个新类。或者使用接口并在您的项目中实现它们。