SuperAPI AI 工具集

kmp-repositories

编程与开发

查看项目

更新于 10-15 19:52

技能介绍

用途:在 Kotlin Multiplatform 项目中落地仓库模式,把数据访问抽象为 commonMain 中的共享接口,由平台特定实现提供具体数据源,形成清晰的数据层架构。

主要能力:分层结构为表现层(ViewModels、Composables、SwiftUI)、领域层(Use Cases)、数据层(仓库接口与实现、远程/本地/内存数据源)。仓库接口提供单次请求(getUser、getUsers、saveUser、deleteUser)、流式观察(observeUser、observeUsers)与缓存控制(refreshUser、refreshAll、clearCache),统一返回 Result 或 Flow<Result>。BaseRepository 封装 execute、flowResult 以及 cacheFirst、networkFirst、refresh 三种缓存策略,并做错误映射。数据源分为远程(网络)、本地(数据库)与内存缓存。

使用方式:在 commonMain 定义仓库接口与实现,通过依赖注入(如 Koin 的 dataModule)装配数据源、仓库与用例;数据库等平台差异用 expect/actual 的 DatabaseFactory 处理,Android 用 Room,iOS 用路径创建。测试在 commonTest 中用 mockk 与 runTest 验证缓存命中与网络回退。

适用场景:需要跨 Android/iOS 共享数据层、统一缓存与错误处理、保持仓库平台无关且可测试的 KMP 项目。

限制:资料未提供具体安装命令、版本要求、性能数据与收费信息;示例中的 API、数据库与 DI 框架需按项目实际情况替换。