[update] update doc, update architecture

This commit is contained in:
Sam 2025-02-20 17:14:09 +08:00
parent 6aed85c3c9
commit 8401d90304
2 changed files with 94 additions and 0 deletions

BIN
doc/architecture.pdf Normal file

Binary file not shown.

View File

@ -0,0 +1,94 @@
graph TB
subgraph Application Layer
MW[MainWindow]
AC[ApplicationController]
end
subgraph Server Layer
DS[DataServer]
subgraph Server Signals
DS_DATA[Data Signal]
DS_STATE[State Signal]
DS_ERROR[Error Signal]
end
end
subgraph Component Controllers
FC[FilterController]
SC[SpectrumController]
WC[WaveformController]
end
subgraph Views
FV[FilterWidget]
SV[SpectrumWidget]
WV[WaveformWidget]
end
subgraph Models
FM[FilterModel]
SM[SpectrumModel]
WM[WaveformModel]
end
%% 应用层连接
MW -->|creates| AC
AC -->|manages| FC
AC -->|manages| SC
AC -->|manages| WC
%% Server信号连接
DS_DATA -->|new_data_received| FC
DS_DATA -->|new_data_received| SC
DS_DATA -->|new_data_received| WC
DS_STATE -->|channel_state_changed| AC
DS_ERROR -->|error_occurred| AC
%% Server控制
AC -->|start_channel| DS
AC -->|stop_channel| DS
AC -->|configure| DS
%% 控制器与视图和模型的连接
FC -->|creates/updates| FV
FC -->|manages| FM
SC -->|creates/updates| SV
SC -->|manages| SM
WC -->|creates/updates| WV
WC -->|manages| WM
%% 组件间数据流
FC -->|processed_data_ready| SC
FC -->|processed_data_ready| WC
%% 视图信号
FV -.->|filter_changed| FC
FV -.->|filter_enabled_changed| FC
SV -.->|display_changed| SC
WV -.->|display_changed| WC
%% 控制器信号
FC -.->|filter_state_changed| AC
FC -.->|params_updated| AC
SC -.->|spectrum_updated| AC
WC -.->|waveform_updated| AC
%% 错误处理
FC -.->|error_occurred| AC
SC -.->|error_occurred| AC
WC -.->|error_occurred| AC
AC -.->|error_occurred| MW
classDef controller fill:#f9f,stroke:#333,stroke-width:2px;
classDef view fill:#bbf,stroke:#333,stroke-width:2px;
classDef model fill:#bfb,stroke:#333,stroke-width:2px;
classDef server fill:#fbb,stroke:#333,stroke-width:2px;
classDef signal fill:#ffb,stroke:#333,stroke-width:1px;
classDef app fill:#fff,stroke:#333,stroke-width:4px;
class AC,FC,SC,WC controller;
class FV,SV,WV view;
class FM,SM,WM model;
class DS server;
class DS_DATA,DS_STATE,DS_ERROR signal;
class MW app;