建筑工程
我有2个模块:
PROBLEM
我正在尝试使用一部分app
模块来自box
模块。
问题是app
模块依赖于box
模块因此我无法指出box
模块,因为这会产生循环依赖。
如何去app
模块方法来自box
模块 ?
Or
如何通知某些接收者app
模块有一些数据要获取吗?
EDIT
我以第三个模块结束common
保持模块的交集app
and box
.
您不能直接调用依赖于您的库的模块。这种依赖会违背图书馆的目的。但是您可以在 Box 模块中定义一个接口,该库的客户端必须实现该接口才能正常运行。
例子:
在您的 Box 模块中定义一个接口
interface ThereIsSomeDataToGet(){
void doSomething();
}
在您的应用程序模块中,您可以调用
Box.registerCallback(new ThereIsSomeDataToGet(){...})
现在在盒子模块中,您有一个对应用程序模块的回调,没有任何硬依赖关系,当库中有一些新数据时,您只需要调用
ThereIsSomeDataToGet.doSomething();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)