有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

intellij idea Java层分离模块之间的循环依赖关系

我正在为学校做作业,我需要在我的程序中实现分层。 我做了一个叫做太空入侵者的小游戏。它是有效的,但当我尝试将事物划分为模块时,我总是能从IntelliJ中得到信息

添加对模块业务的依赖将在模块音频和业务之间引入循环依赖

我还尝试将数据访问层与业务层分离。战斗了几个小时后,我让它开始工作了。但必须删除模块信息。JAVA这不是一件好事。 我一定是忽略了什么。为了让它有点视觉化:)

首先从我的图层分离开始: [分层图] [1] :https://i.stack.imgur.com/wT9FC.png

[类图] [2] :https://i.stack.imgur.com/imYI3.png

当然,代码:)它有点太大了,不能在这里发布,所以这里是到GIT的链接

https://github.com/Koffiemolen/SpaceInvaders.git

我尝试将DataAccess HighscoreStore和SoundFactory分开。SoundFactory位于音频模块中

如果我使用的术语不正确,请让我知道。我还在学习;-)


共 (2) 个答案

  1. # 1 楼答案

    您的循环依赖性介于业务和数据访问之间-它们相互依赖-通常,您的数据访问和音频不依赖任何内容,而业务对两者都有依赖性

    对JUnit的依赖性应具有测试范围

    当我们使用它的时候,使用maven或者更好的gradle——这将是构建项目的一种既酷又可移植的方式。IDEA只是抓住这些项目模型并在本地使用它们

  2. # 2 楼答案

    我找到了解决办法。模块信息。java被删除了,但我仍然收到关于循环依赖的消息

    在IntelliJ中,您可以转到打开模块设置,在此视图中,您可以设置或删除依赖项。 IntelliJ modules overview

    通过这一点,我发现ControledGameObject类依赖于控制模块

    我认为只有通过模块信息才能设置依赖项。但是它们也存储在moduel iml文件中