敷设渠道
我有2个模块:
app (应用)box (图书馆模块)问题
我试图app从box模块中使用模块的一部分.问题是app模块依赖于box模块,因此我无法从box模块指向,因为这将创建循环依赖.
如何app从box模块中获取模块方法?
要么
如何通知app模块中的某个接收器有一些数据可以获得?
小智 7
您无法直接调用依赖于库的模块.这种依赖会破坏图书馆的目的.但是您可以在Box模块中定义一个接口,该库的哪些客户端必须实现才能运行.
示例:在Box模块中定义一个接口
interface ThereIsSomeDataToGet(){
void doSomething();
}
Run Code Online (Sandbox Code Playgroud)
在您的应用模块中,您可以致电
Box.registerCallback(new ThereIsSomeDataToGet(){...})
Run Code Online (Sandbox Code Playgroud)
现在在box模块中你有一个回调你的应用程序模块,没有任何硬依赖,当你有一些新的数据库时,你只需要调用
ThereIsSomeDataToGet.doSomething();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1584 次 |
| 最近记录: |