多模块Android应用中:auth模块如何使用用例?
在:auth模块中使用Domain层用例的实现方案
1. 添加模块依赖
在:auth模块的build.gradle(或build.gradle.kts)中,添加对:domain模块的依赖:
// build.gradle.kts 示例 dependencies { implementation(project(":domain")) // 保留其他原有依赖 }
2. 注入用例实例
按照项目采用的依赖注入框架(如Hilt),在:auth模块的业务类(如ViewModel)中通过构造函数注入所需用例:
// AuthViewModel 示例 class AuthViewModel @Inject constructor( private val loginUseCase: LoginUseCase, // 来自domain层的用例 private val registerUseCase: RegisterUseCase ) : ViewModel() { fun handleLogin(email: String, password: String) { viewModelScope.launch { val loginResult = loginUseCase.invoke(email, password) // 根据结果处理UI逻辑,如跳转首页、提示错误等 } } }
3. 维护架构边界
- 严格遵循单向依赖原则::data → :domain → :auth,:auth模块禁止直接依赖:data模块
- 所有核心业务逻辑留在:domain层的用例中,:auth仅负责调用用例并处理UI交互逻辑
- 若使用Hilt,需确保:domain层已配置对应的组件绑定,:auth层的Hilt组件能正常获取用例实例
内容的提问来源于stack exchange,提问作者domartynov
相关产品推荐
相关产品推荐

