如何解决两个模块之间的依赖关系

时间:2013-07-23 05:34:16

标签: java circular-dependency

我有两个模块 - 模块A和模块B.在模块A中,我有我的Mailer.java,我必须从模块B中的java类调用它,这样它们不会高度耦合,也不会应该是2个模块之间的任何循环依赖(如果可能)。

我想过在模块B中移动Mailer.java代码,但这没有用,因为Mailer.java有很多依赖项,我将不得不移动到模块B。

然后我想到在模块B中编写一个接口,该接口将在模块A中实现。最后,我将最终调用该实现的方法。但是因为它是一个接口方法,我将不得不在模块B中为该方法提供默认体。但我不相信这个解决方案。解决方案好吗?

任何其他实施方式也会有所帮助。

2 个答案:

答案 0 :(得分:1)

我可以建议两种方法。

1)分离公共模块并使其成为A& A之间的共享库。乙

2)公开可由其他模块使用的Web服务。

答案 1 :(得分:0)

在模块B中创建具有关系模块A

如果模块A中的任何类想要B中的类,则实例化它使用它。

例如,在模块B中实例化Mailer.java,以便可以将所有方法公开给它以在模块B中使用。