Files
luban_ui_internal/design/项目架构设计.md
2025-09-24 01:22:21 +08:00

2.6 KiB
Raw Blame History

项目架构设计文档

一、总体说明

本项目采用 Avalonia 作为跨平台桌面UI框架目标是让非程序员也能轻松使用Luban管理配置表。项目结构高度模块化底层能力与业务服务解耦便于维护和扩展。


二、架构分层

1. Core基础能力库单独程序集

命名空间:LubanHub.Core

  • 封装所有原生能力:下载、文件管理、进程调用、解压缩等
  • 只暴露通用接口,供各业务服务调用
  • 例如:ICoreFileServiceICoreDownloadServiceICoreProcessService

2. 各业务服务(每个服务一个程序集)

  • Luban集成服务

    • 命名空间:LubanHub.LubanService
    • 负责调用Luban命令行、管理Luban相关配置、版本检测等
    • 依赖Core的进程调用、文件管理能力
  • 知识库应用服务

    • 命名空间:LubanHub.KnowledgeService
    • 管理本地知识库、历史会话
    • 封装AI API调用如OpenAI、本地模型等
    • 依赖Core的文件管理、网络能力
  • 配置表管理服务

    • 命名空间:LubanHub.TableService
    • 管理配置表结构、配置表设计器逻辑
    • 支持table/enum/bean等结构
    • 依赖Core的文件管理
  • 模板工程创建服务

    • 命名空间:LubanHub.TemplateService
    • 负责扫描luban_example、按模板生成新工程
    • 支持变量替换、目录操作
    • 依赖Core的文件管理、解压缩等

3. UI层Avalonia MVVM

命名空间:LubanHub.App

  • 只负责界面展示与交互,所有业务逻辑通过服务层调用
  • 通过依赖注入获取服务实例

三、依赖关系示意

UI层
  │
  ├─ Luban集成服务
  │      │
  │      └─ Core
  ├─ 知识库应用服务
  │      │
  │      └─ Core
  ├─ 配置表管理服务
  │      │
  │      └─ Core
  └─ 模板工程创建服务
         │
         └─ Core

四、主要功能模块

  • 问答本地知识库、历史会话、AI对话
  • 项目管理:分组、创建、打开、配置、发布
  • 配置表设计器:结构化编辑、字段类型、处理器、分组、备注、导出标记
  • 模板工程生成基于luban_example按模板生成新工程
  • 设置页外观、Luban文档、外部编辑器、shell路径、语言等

五、开发建议

  • 每个服务建议定义接口(如 IFileService便于测试和扩展
  • Core层实现时注意跨平台兼容
  • 业务服务只依赖Core不直接操作系统API
  • UI层只做展示和交互所有逻辑下沉到服务