模块化设计
介绍
HarmonyKit 采用多模块结构,目的不是把工程拆得更复杂,而是让职责更清晰、扩展更可控。框架将基础能力与业务模块分离,便于按需组合与独立演进。
模块划分原则
- 核心能力集中在 core:网络、数据、存储、状态、UI 等基础能力在一个稳定层内维护。
- 业务功能放在 feature:页面与业务流程按模块组织,避免把业务逻辑塞进基础层。
- 入口清晰:
entry只负责应用启动与路由入口,不承载业务逻辑。 - 导航在 core:导航模块位于
core/navigation,文档中单独成章,方便集中维护。
目录结构示例
AppScope/ # 应用配置
entry/ # 应用入口模块
core/ # 核心模块
│ ├── base/ # 基类
│ ├── data/ # 数据层
│ ├── database/ # 数据库
│ ├── datastore/ # 数据存储
│ ├── designsystem/ # 设计系统
│ ├── ibestui/ # IBest UI 组件库
│ ├── model/ # 数据模型
│ ├── navigation/ # 导航
│ ├── network/ # 网络层
│ ├── result/ # 结果处理
│ ├── state/ # 全局状态
│ ├── ui/ # UI 组件
│ └── util/ # 工具类
feature/ # 功能模块
│ ├── auth/ # 认证模块
│ ├── demo/ # 示例模块
│ ├── main/ # 主模块
│ └── user/ # 用户模块模块边界建议
- core 仅提供可复用能力,不承载业务流程。
- feature 只依赖 core 与导航能力,不直接依赖其他业务模块。
- entry 只聚合入口与路由,不引入具体业务实现。
新增模块流程
以下示例以创建 model 模块为例,演示在 DevEco Studio 中新增模块的操作流程。
- 在
feature/或core/目录上点击右键,选择 New -> Module...。

- 在模板选择界面选择 Static Library,点击 Next。

- 填写模块名称与设备类型,点击 Finish 完成创建。
