05-GUI与前端组件化
GUI 与前端组件化GUI 是子系统,MVVM 是内部的职责关系;前端(React/Vue)本质上是把「组件树/页面描述」提升为框架核心输入的 GUI 框架。本篇承接 04-系统角色/07、08(GUI 入口拆解)与 10-桌面端架构/04(GUI 的演化与三条流程),回答:GUI 内部怎么按组件组织,前端框架在这套体系里处在什么位置。
一、GUI 是子系统,MVVM 是内部的职责关系GUI 适合看成一个子系统,内部可拆成两类核心职责:
1234567GUI 子系统│├── View / Rendering│ ├── Window / Layout / Widget / Painting / Event(Input)│└── Application Interaction ├── ViewModel / State / Command / Service-API 调用
但 MVVM 不是「GUI 的两个子系统」,而是一种职责关系:
1View → ViewModel → Model / Business API
View:显示、布局、控件、绘制、用 ...
04-GUI的演化与三条流程
GUI 的演化与三条流程——能力成长、实现路径与三种起点一句话
过程与流程的区别(07-工程控制/02-过程与流程)在 GUI 上的展开:GUI 的演化过程固定(窗口→控件→交互→操作→状态→数据→功能→用户流程→完整应用),实现流程不唯一(Win32+MVC、Win32+MVVM、Qt+MVVM、ImGui+自定义、WebView+前端);而「做一款 GUI」有三种起点——演化(从空程序长能力)、复刻(从已有程序还原)、原创(从想法创造)。
一、GUI 的演化过程:能力逐渐形成演化过程描述的是:GUI 从一个「能显示窗口的程序」,逐渐获得成为「可用软件」的能力。
123空白程序 → 可启动窗口 → 可显示内容 → 可接受输入 → 可执行操作→ 可显示状态 → 可管理数据 → 可组织多个功能 → 可处理完整用户流程→ 可配置 → 可恢复 → 可处理异常 → 完整 GUI 应用
十个阶段逐一看:
1. 运行环境main() → 创建窗口 → 消息循环。此时程序只有存在性(能启动,还不能完成什么)。
2. 显示能力加入 Label/Button/Text ...
03-Win32与自实现绑定
Win32 的 MVVM:没有内置绑定的落地方式一句话
Win32 可以用 MVVM,而且非常适合中大型桌面程序;区别只在 View 层——Win32 没有 Qt/WPF 那样的内置数据绑定,需要自己实现 Property / Command / Event / Observer / DataBinding 五种机制,并把 WndProc 拆成「界面创建 + 事件处理 + 数据刷新」三职责。 分层本身与 GUI 库无关,换 Qt 时只需重写 View,ViewModel / Service / Domain / Infrastructure 基本不动。
一、结论:Win32 能用 MVVM 吗可以,而且很适合。MVVM 的分层原则(View 只管显示与转发、ViewModel 管状态与编排、Domain 管数据、Service 管业务、Infrastructure 管平台)与具体 GUI 库无关——它约束的是职责怎么分,不是界面怎么画。
三个 GUI 技术栈的区别只在 View 层:
1234Qt: ...
02-Qt桌面端架构
Qt 桌面端架构——七层完整架构与从纯 UI 开始的演化一句话
Qt 桌面端架构 = 分层 + MVVM 思想 + 业务核心独立:View → ViewModel → Domain/Model → Service → Infrastructure → Utils,从纯 UI 开始逐步把数据、功能、底层拆出来,每个新功能只加对应层,不用推倒重写。
一、完整架构12345678910111213141516171819Application│├── UI # 表现层(Qt)│ ├── MainWindow # 主窗口框架│ ├── Pages # 多页面│ ├── Dialogs # 弹窗│ ├── Components # 通用UI组件│ ├── Resources # UI资源│ └── Themes # 主题│├── Vi ...
01-Qt主题架构
Qt 主题架构——从 Theme 到 Widget 的一键切换一句话
主题 = 不改变「是什么」,主要改变「长什么样」。专业 Qt 项目用 Theme → Palette → Style → Widget 四层架构实现一键切换,整个程序所有颜色全部来自 Theme,切主题后所有控件自动刷新。
一、四层架构1234567891011121314151617181920 ThemeManager │ ┌───────────────┴───────────────┐ │ │LightTheme DarkTheme │ │ └───────────────┬───────────────┘ │ ThemeData (颜色、字体、圆角、间距...) ...
10-外语表达-意义重建与反馈训练
外语表达——意义重建与反馈训练
「概念 → 外语表达」的直接通路是成立的,但最好不要把它理解成「中文句子逐词拆译」,而是:先把已知语言的句子还原成「意义/概念结构」,再用外语重新组织这个意义。 本篇展开「意义重建」的完整方法:不是逐词翻译而是剥离表面提取意义、再按外语自己的方式组织;关键是「生成—比较—修正」循环;反馈要分层(结果→差异→规则→对比→重新生成);训练单位是场景→概念→关系→表达→使用→反馈;最终用大量场景变化把一次纠正变成可迁移的能力。
一、不是逐词翻译,而是「意义重建」「我昨天在商店买了一本书」,不要做:
123我 = I / 昨天 = yesterday / 在 = at / 商店 = store买 = buy / 一本书 = a book→ I yesterday at store buy a book ❌
而是先拆成意义:
12345人物:我时间:昨天地点:商店事件:购买对象:一本书
再形成关系:
1我 └─ 在昨天 └─ 在商店 └─ 执行「购买」└─ 对象:一本书
然后问:英语会怎样表达这个关系? 得到:I bought a book a ...
09-说话能力的获得-十阶段
说话能力的获得——十阶段与四套内部模型
前面分解的是「听懂」(听觉理解);本篇对称地分解「会说话」(语言产出)。「说话」不是把脑中的想法翻译成声音,最终能力是形成一套可以实时运行的闭环:意图 → 语言组织 → 发音动作 → 声音 → 对方反馈 → 修正。获得过程分为十阶段:发声控制 → 声音模仿 → 音系建立 → 声音—动作映射 → 词汇建立 → 组块 → 句法生成 → 实时生成 → 自我监控 → 互动生成,底层是四套互相连接的内部模型。
一、先把「说话能力」拆成结果链12345678910111213141516171819202122232425想表达什么↓形成表达意图↓选择概念/信息↓组织语言意义↓选择词↓组织句法↓组织语音↓规划发音动作↓执行口腔动作↓产生声音↓自己听到自己的声音↓判断是否表达成功↓根据反馈修正
最底层不是「背单词」,而是:
建立从意图到声音的可执行映射。
二、第一阶段:先获得「发声—听觉」的闭环婴儿并不是一开始就说词。首先是:
12自己发声 → 听见自己的声音 → 改变发声方式 → 再次听→ 发现声音变化 → 逐渐控制声音
例如「啊——」然后改变 ...
08-预测机制
预测机制——能力形成、冲击与情绪的共享底层
大语言模型展示了一个很强的现象:复杂智能可以通过预测输入中的结构而形成大量能力,而「预测」本身并不自动等于「理解」。 本篇展开「预测—误差—修正」作为认知系统底层机制的含义:预期内/预期外的不同冲击、惊喜的来源不止「纯意外」、「预测 + 后果」才构成完整循环、学习与情绪共享同一个底层差异,以及大模型与人类的区别。
一、预测可以作为认知系统的底层机制之一123456789已有内部模型 ↓对下一输入产生预期 ↓真实输入到来 ↓比较「预期」和「实际」 ↓预测误差
实际 ≈ 预期:输入平滑,不会特别引起注意
实际 ≠ 预期:产生意外性/预测误差——误差越大,不一定越「重要」,但通常越容易引起注意、更新模型或产生情绪反应
预测—误差—修正,是能力形成的统一机制:语言能力如此,视觉识别如此,动作技能如此。
二、「冲击」可以拆成几个不同东西预期内1预测 A → 实际 A → 误差小 → 熟悉、顺畅
预期外但无关紧要1预测错误 → 发现没有重要后果 → 快速修正
冲击很小。
预期外且 ...
07-输入端能力与语言事件检测
输入端能力与语言事件检测——「音素识别」不是听觉语言处理的起点
「听懂」的起点不是「识别音素」,而是更前置的一层:从连续听觉环境中发现「这里有语言声音」,并把它作为一种特殊的声音对象处理。 本篇补上认知能力分解中被跳过的输入端——语言事件检测、语言归一化/抽象、连续语音的整体处理三个关键缺口,并解释为什么「刻意训练音素有用,但作用不大」。
一、最开始不是「识别音素」,而是识别「语言事件」现实环境的声音是混合的:
12345678环境声音├── 汽车├── 鸟叫├── 风声├── 键盘├── 音乐├── 人说话└── 其他声音
大脑首先需要处理的不是「这是哪个音素」,而是:
这段声音是不是人在说话?
甚至还没到「这是哪个语言?」,更不用说「这是哪个音素?」。所以完整的听觉前端应该增加一个前置阶段:
1234567891011听觉流 ↓声音事件检测 ↓发现语音 ↓把语音从背景中分离出来 ↓识别语言/语音类型 ↓进入语言识别系统
这对应「区分语言和鸟语」——人脑必须先知道「这个声音值得按照语言来解析」。
二、甚至「语言 vs 非语言」之后,还有一个层级听到 “Some ...
06-从状态到系统
从状态到系统——为什么「运行」才让结构真正产生意义
结构描述系统「是什么」,机制决定系统「怎么运行」。只有结构没有机制,系统不会运行;只有机制没有状态,变化无法被观察。本篇展开「运行」的完整机制:静态结构如何通过机制产生状态变化、状态是系统的快照、事件/输入/时间是状态变化的触发条件、状态连接形成行为、状态变化形成流程、规则/约束/目标如何限制状态空间,以及为什么验证就是检查状态变化、测试就是验证状态变化——最终,「系统」比「功能列表」更有意义。
一、静态结构还不是系统拆解一个游戏场景:
1玩家 / 地面 / 敌人 / 金币 / 障碍物 / 终点
这只是元素集合。建立空间关系:
123玩家 → 站在 → 地面金币 → 位于 → 玩家前方敌人 → 位于 → 地面上
得到的是结构。但游戏还没有运行——现在只有「有什么、在哪里、和谁有关」,还没有「发生什么、为什么发生、发生之后变成什么」。
结构描述系统「是什么」,机制决定系统「怎么运行」。
二、机制把关系变成变化1玩家 → 碰撞 → 金币
这只是关系。加入机制:
1玩家碰撞金币 → 金 ...
