项目架构与职责
介绍
本节说明 HarmonyKit 的整体架构与模块职责,重点解释 core 内各模块承担的功能边界,帮助你在开发时保持依赖收敛与职责清晰。
架构目标
- 职责清晰:基础能力与业务模块分层,降低耦合。
- 依赖收敛:业务模块只通过统一入口访问数据能力。
- 可维护:模块关系稳定,便于替换与扩展。
模块职责概览
- entry:应用入口与启动流程,负责初始化与路由入口,不承载业务逻辑。
- core:基础能力层,承载共用能力与规范,包含导航等基础模块。
- feature:业务模块层,按业务域拆分页面与 ViewModel。

架构图来自华为官方文档:分层架构设计
core 模块职责
- base:基础父类与基础能力封装(如通用页面/状态基类等)。
- data:统一数据入口,封装仓库层,聚合网络、数据库与本地存储。
- database:本地数据库能力与持久化访问。
- datastore:轻量级本地存储与配置持久化。
- designsystem:设计系统与全局样式规范(颜色、间距、字体等)。
- ibestui:IBest UI 组件库的封装与适配层。
- model:数据模型与实体定义。
- navigation:导航能力与路由基础设施(位于 core 下,与业务分离,文档单独成章)。
- network:网络请求基础能力与拦截器等封装。
- result:统一结果封装与错误处理规范。
- state:全局状态管理与状态持久化支持。
- ui:通用 UI 组件与复用视图封装。
- util:工具类与通用辅助方法。
依赖关系与边界
- feature 依赖 core:业务模块可使用 core 的基础能力。
- feature 不直接依赖 network / database:业务模块通过
data模块内的仓库作为统一数据入口。 - data 聚合底层能力:
data负责整合network、database、datastore与model,对外提供统一的数据访问方式。 - 模块间不互相依赖:feature 之间保持隔离,避免交叉依赖。
模块依赖图
数据访问路径示例
- 业务模块调用
data提供的仓库方法。 - 仓库内部按需访问网络、数据库或本地存储。
- 结果通过统一封装返回给业务层。
设计约束
- core 层只做通用能力,不掺杂业务逻辑。
- feature 层只做业务,不直接调用网络/数据库。
- navigation 属于 core,单独成章便于集中维护。