我甚至不确定这是否可行,但我想向社群提出一般意见。
我必须解决以下问题:
我的项目有2个图层,核心图层和业务图层。 此Core层提供了Business层。此时,Business类可以导入Core类并执行他们想要的任何操作。核心类只能导入核心类并使用它们的方法,禁止访问Business类及其各自的方法。
我想添加一个特定的功能: 我不想给Core任何正常访问Business层的东西,但是我想创建类似于界面或类似东西的东西(我不知道如何在这里表达自己,因为我不知道它是否可能),那个为Core类提供了一些Business类使用的特定方法。
任何人都可以帮助我,或者至少给我一些指导原则,或者在哪里搜索。
提前感谢您的支持。
编辑: 我将Spring框架与Seam和JBoss一起使用
答案 0 :(得分:1)
您可能面临的是模块依赖性和循环依赖性的设计。简而言之,Core需要的Business方法可能必须重新考虑到“utils”模块或“Business-Core”模块中,然后两者都可以访问。我只是在这里猜测。
除了自动构建之外,像Maven这样的构建工具也鼓励这种模块化和依赖。从一个模块开始的项目在完成时分成3-4个模块并不罕见。
答案 1 :(得分:0)
这可以通过使用AspectJ来实现。您可以在AspectJ语法中编写规则,如果不强制执行,则会产生构建时错误。有关示例,请参阅文章Archtectual Enforcement with Aid of AspectJ。