0

我在使用干净架构概念的项目中使用优先级作业队列。问题是:做DI优先作业队列我需要创建一个BaseJob工作是这样的:在清洁架构中使用优先级作业队列的依赖注入

abstract public class BaseJob extends Job { 

    @Retention(RetentionPolicy.SOURCE) 
    @IntDef({UI_HIGH, BACKGROUND}) 
    public @interface Priority { 

} 

public static final int UI_HIGH = 10; 
public static final int BACKGROUND = 1; 

public BaseJob(Params params) { 
    super(params); 
} 

protected boolean shouldRetry(Throwable throwable) { 
    return true; 
} 

public void inject(ApplicationComponent appComponent) { 

} 

的问题是,在线路:

public void inject(ApplicationComponent appComponent) { 

} 

我需要访问ApplicationComponent这是在演示文稿的图层中,但由于我的BaseJob在数据的图层中,因此我无法访问它。

如果我让数据层知道演示文稿,我会打破干净架构的原则。

有没有人有一个想法,我可以做到这一点?

+0

你在与appComponent做什么? –

+0

以下示例:[链接](https://github.com/yigit/dev-summit-architecture-demo/blob/master/client/app/src/main/java/com/android/example/devsum​​mit/archdemo /di/module/ApplicationModule.java)。 我正在使用它来在工作中注入依赖关系。 我不能在这里放置代码,所以它在第111行 – user2601142

回答