在Clean Architecture中,存储库必须是Android还是Kotlin模块?

时间:2019-07-03 10:26:48

标签: android repository clean-architecture

在Clean Architecture中,存储库包含远程(改造)和本地(空间)数据源。我看到Remote是纯Kotlin模块。但是,由于Room需要访问Android上下文,因此Local是Android模块。

那么,由于本地模块,存储库必须是Android模块吗?如果是的话,您是否知道避免在Local模块中使用Context并使该模块成为纯Kotlin的任何抽象方法?

2 个答案:

答案 0 :(得分:2)

编程语言之间没有区别。决定因素是它是否依赖于Android的任何组件(例如Context)进行操作。

我有一个用kotlin编写的模块,它是java-library。该库包含我的“域”逻辑,不包含任何Android组件。

在您的情况下,因为您正在使用Room,是的,此模块将需要是com.android.library模块。

我认为这没有办法。您可以将模块显然分为两部分:一个用于翻新(data-api),一个用于Roomdata-local

答案 1 :(得分:1)

这里是link 很高兴在上面的链接中看到开放源代码。