Skip to content

三层架构

灵动桌面框架的 Rust 后端采用严格的三层架构,确保代码职责清晰、易于维护。

架构图

┌─────────────────────────────────────────┐
│  前端 invoke('set_config', {...})       │
└──────────────────┬──────────────────────┘

┌──────────────────────────────────────────┐
│  Layer 1: Commands(命令层)              │
│  ● 接收 IPC 请求、参数校验               │
│  ● 调用 Service 层                       │
└──────────────────┬───────────────────────┘

┌──────────────────────────────────────────┐
│  Layer 2: Services(业务层)              │
│  ● 业务逻辑处理、数据转换                │
│  ● 调用 Database 层                      │
└──────────────────┬───────────────────────┘

┌──────────────────────────────────────────┐
│  Layer 3: Database(数据层)              │
│  ● SQL 操作、Schema 迁移                 │
└──────────────────────────────────────────┘

各层职责

层级目录职责错误类型
Commandsrc-tauri/src/commands/IPC 入口,参数校验CommandError
Servicesrc-tauri/src/services/业务逻辑AppError
Databasesrc-tauri/src/database/数据访问AppError

调用流程示例

前端: setConfig('theme', 'dark')
  → Command 层: 校验参数非空
    → Service 层: 执行业务逻辑
      → Database 层: INSERT/UPDATE SQL

开发规范

  • Command 层不写业务逻辑,只做参数校验和转发
  • Service 层不写 SQL,只调用 Database 方法
  • Database 层不写业务逻辑,只做数据访问
  • 禁止跨层调用(Command 直接调 Database)

基于 Tauri 2.x 构建的企业级桌面应用开发框架