Skip to content

Core 概览

介绍

Core(框架核心层)提供与业务无关的通用能力,是整个框架的基础。这一层的代码可以直接复用到其他 HarmonyOS 项目,无需任何修改。

设计目标

  • 无业务依赖:不包含任何业务逻辑,保持框架的纯净性
  • 可复用:可直接复制到其他项目使用
  • 稳定:作为底层基础,接口稳定,不频繁变动

模块组成

Core 层包含 13 个模块:

模块职责主要内容
base基础父类BaseViewModel、BaseNetWorkViewModel 等
common通用模块通用常量、枚举等
components通用组件可复用的 UI 组件
database数据库数据库封装和操作
designsystem设计系统颜色、间距、字体等视觉规范
di依赖注入DI 容器和注入机制
ibestuiIBest UIIBest-UI-V2 组件库封装
layoutstate布局状态响应式布局状态管理
module模块管理模块注册和管理
navigation导航系统路由配置和导航服务
network网络请求HTTP 请求封装
util工具类各种工具函数

与其他层的关系

Packages
    ↓ 依赖
Shared
    ↓ 依赖
Core  ← 不依赖任何上层模块
  • Core 不依赖 Shared 或 Packages:保持底层的独立性
  • Shared 依赖 Core:使用 Core 提供的基础能力
  • Packages 依赖 Core:使用 Core 的基类、UI 组件等

使用示例

使用 ViewModel 基类

typescript
import { BaseViewModel } from "@core/base";

@ObservedV2
export default class MyViewModel extends BaseViewModel {
  // 继承加载状态管理等基础能力
}

使用设计系统

typescript
import { Colors, Spacing } from "@core/designsystem";

Column() {
  // ...
}
.backgroundColor(Colors.primary)
.padding(Spacing.medium)

使用网络请求

typescript
import { AxiosHttpClient } from "@core/network";

const response = await AxiosHttpClient.get("/api/users");

扩展 Core 层

如需扩展 Core 层能力,请遵循以下原则:

  1. 不引入业务逻辑:新增内容必须是通用能力
  2. 保持接口稳定:修改已有接口需考虑向后兼容
  3. 完善导出:在模块的 Index.ets 中导出新增内容
  4. 编写文档:为新增功能编写文档

注意事项

  • Core 层的修改会影响所有上层模块,需谨慎操作
  • 业务相关的能力应放在 Packages 层,不要污染 Core 层
  • 新增模块时参考现有模块的目录结构和命名规范

下一步