SuperAPI AI 工具集

android-clean-architecture

数据与分析

查看项目

更新于 10-16 08:36

技能介绍

用途:为 Android 与 Kotlin Multiplatform(KMP)项目提供 Clean Architecture 落地模式,适用于搭建模块结构、实现 UseCase/Repository/DataSource、设计 domain、data、presentation 三层数据流,以及配置 Koin 或 Hilt 依赖注入。

主要能力:给出推荐模块布局(app、core、domain、data、presentation、design-system 及可选 feature 模块)与依赖方向规则,强调 domain 只含纯 Kotlin、不得依赖 data、presentation 或框架。domain 层用 operator fun invoke 定义 UseCase,支持 suspend 与 Flow 两种形式;Repository 接口定义在 domain、实现在 data。data 层通过 Repository 实现协调本地与远程数据源,并用扩展函数做 Entity/DTO 与 domain 模型映射。持久化示例覆盖 Room(@Entity、@Dao、@Upsert、Flow 查询)与 SQLDelight(.sq 建表与查询);网络层示例使用 Ktor HttpClient 配合 ContentNegotiation 与 Logging。依赖注入给出 Koin 的 module/factory/single/viewModelOf 与 Hilt 的 @Module、@Binds、@HiltViewModel 写法。错误处理建议用 Result 或自定义 sealed Try 类型,并在 ViewModel 中映射为 UI 状态。KMP 项目可用 Gradle convention plugin 减少构建文件重复。

使用方式:按依赖规则组织模块,在 domain 定义模型、接口与 UseCase,在 data 实现 Repository 与 DataSource,在 presentation 通过 ViewModel 调用 UseCase;按需选用 Room 或 SQLDelight、Ktor、Koin 或 Hilt。

适用场景:Android 与 KMP 分层架构搭建、数据流设计、依赖注入配置。

限制与反模式:避免在 domain 引入 Android 框架类、向 UI 暴露数据库实体或 DTO、把业务逻辑放进 ViewModel、使用 GlobalScope 或无结构协程、Repository 过于臃肿、模块循环依赖。资料未提供具体版本、安装命令、收费与效果信息。