Praxis Architecture View

C4 Model Maps

按 C4 抽象层级解释系统架构:System Context、Container、Component、Code。它是 UML Model 的架构投影,而不是独立真相源。

项目版本:0.1.30-alpha Git:34aad0bffa2f / main / dirty 更新于:

C4 层级索引

System Context1

系统与外部人/系统的边界

Container5

可独立解释的架构边界

Component4

容器内部关键组件

Code5

必要代码锚点

C4 文档树

System Context 包含 Containers,Container 包含 Component Views,Component View 包含 Code Views;这才是当前 C4 下钻结构。

  1. 系统上下文:trail-mate

    System Context · high

    从 C4 System Context 层解释 trail-mate 这个目标软件系统所处的环境:谁使用它、它依赖或协作哪些外部系统,以及它作为一个黑盒的边界在哪里。

    1. 容器边界:apps/linux_uconsole_gtk

      Container · high

      apps/linux_uconsole_gtk 是 C4 Container 层候选边界:它必须表现为应用、服务、数据存储、可运行单元或可独立部署/执行的系统部分,而不是普通目录、代码分层或共享工具集合。

      1. 组件职责:apps/linux_uconsole_gtk

        Component · high

        从 C4 Component 层解释 apps/linux_uconsole_gtk 内部的关键职责单元:入口、页面、命令、接口、注册表、adapter 或共享对象。

        1. 代码锚点:apps/linux_uconsole_gtk

          Code · medium

          从 C4 Code 层解释 apps/linux_uconsole_gtk 内少量关键代码锚点。Code 层不是代码浏览器,只在需要理解架构组件如何落到具体文件/符号时使用。

    2. 容器边界:apps/esp32_lvgl

      Container · high

      apps/esp32_lvgl 是 C4 Container 层候选边界:它必须表现为应用、服务、数据存储、可运行单元或可独立部署/执行的系统部分,而不是普通目录、代码分层或共享工具集合。

      1. 组件职责:apps/esp32_lvgl

        Component · high

        从 C4 Component 层解释 apps/esp32_lvgl 内部的关键职责单元:入口、页面、命令、接口、注册表、adapter 或共享对象。

        1. 代码锚点:apps/esp32_lvgl

          Code · medium

          从 C4 Code 层解释 apps/esp32_lvgl 内少量关键代码锚点。Code 层不是代码浏览器,只在需要理解架构组件如何落到具体文件/符号时使用。

    3. 容器边界:apps/nrf52_node

      Container · high

      apps/nrf52_node 是 C4 Container 层候选边界:它必须表现为应用、服务、数据存储、可运行单元或可独立部署/执行的系统部分,而不是普通目录、代码分层或共享工具集合。

      1. 组件职责:apps/nrf52_node

        Component · high

        从 C4 Component 层解释 apps/nrf52_node 内部的关键职责单元:入口、页面、命令、接口、注册表、adapter 或共享对象。

        1. 代码锚点:apps/nrf52_node

          Code · medium

          从 C4 Code 层解释 apps/nrf52_node 内少量关键代码锚点。Code 层不是代码浏览器,只在需要理解架构组件如何落到具体文件/符号时使用。

    4. 容器边界:apps/linux_cardputer_zero

      Container · high

      apps/linux_cardputer_zero 是 C4 Container 层候选边界:它必须表现为应用、服务、数据存储、可运行单元或可独立部署/执行的系统部分,而不是普通目录、代码分层或共享工具集合。

      1. 组件职责:apps/linux_cardputer_zero

        Component · medium

        从 C4 Component 层解释 apps/linux_cardputer_zero 内部的关键职责单元:入口、页面、命令、接口、注册表、adapter 或共享对象。

        1. 代码锚点:apps/linux_cardputer_zero

          Code · medium

          从 C4 Code 层解释 apps/linux_cardputer_zero 内少量关键代码锚点。Code 层不是代码浏览器,只在需要理解架构组件如何落到具体文件/符号时使用。

    5. 容器边界:apps/linux_sim_shell

      Container · high

      apps/linux_sim_shell 是 C4 Container 层候选边界:它必须表现为应用、服务、数据存储、可运行单元或可独立部署/执行的系统部分,而不是普通目录、代码分层或共享工具集合。