直接跳到内容

模块化设计

介绍

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 中新增模块的操作流程。

  1. feature/core/ 目录上点击右键,选择 New -> Module...

创建模块入口

  1. 在模板选择界面选择 Static Library,点击 Next

选择模板

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

配置模块信息

官方参考