Skip to content

Latest commit

 

History

History
19 lines (16 loc) · 1.35 KB

07.架构设计.md

File metadata and controls

19 lines (16 loc) · 1.35 KB

架构设计

Unify 的技术架构采用了分层架构,包括:依赖层、协议层、工具层、服务层、逻辑层:

  1. 依赖层: Dart 基础能力,比如:IO操作、Dart 代码分析、Isolate 操作等。
  2. 协议层: 主要两部分,Unify AST 协议和 Unify 模板协议(对外体现是 Unify 模板注解)。其中:
    • Unify AST 协议:Unify 定义的 AST Node 格式,代码生成器需要使用它,才能生成三端代码。
    • Unify 模板协议:主要是约定 Unify 开发模板,对外体现是 Unify 提供的注解。
  3. 工具层: 主要由工具集和常量集组成。其中:
    • 工具集:主要是通用方法的封装。
    • 常量集:主要是常量定义的集合。
  4. 服务层: 主要由代码生成器 和 AST解析器组成。其中:
    • 代码生成器:主要以 Unify AST Node 作为输入,生成三端代码。
    • AST解析器:主要是对 Dart 文件进行语法分析,将结果解析成 Unify 的 AST Node。
  5. 逻辑层: 分 Cli Isolate 和 Worker Isolate 两大块。
    • CLI Isolate:作为 Unify 的 main Isolate。主要进行 CLI 参数解析,创建并启动 worker Isolate 以及 结果监听。
    • Worker Isolate:主要触发AST解析器和代码生成器调用,最终完成三端代码的生成。