00-总纲·知识地图
知识地图与总纲
本目录下有二十二条独立知识线(其中「依赖关系」「拆解与组织」「正向建模与逆向应用」「系统角色组成」「单一职责」「设计」「工程控制」「图像与绘画」「认知与语言」「桌面端架构」「模块与构建单元」「游戏」「业务分析与领域」「最小闭环」是十四个主题)。每条是一篇或多篇完整的文章。线与线之间独立,互补,不串在一起。
文章列表
| # | 文章 | 一条什么线 |
|---|---|---|
| 1 | 从指令到系统/01-从指令到业务系统.md |
第一条演化线:指令→结构→函数→文件→分层→业务系统(由模块组成) |
| 2 | 从指令到系统/02-从函数到网络系统.md |
第二条演化线:socket→循环→多连接→EventLoop→协议→会话→网络(由组件组成) |
| 3 | 从指令到系统/03-多系统组成的网络通信软件.md |
第三条演化线:业务系统+网络系统+入口系统→三系统协作的网络通信软件 |
| 4 | 七条流/(5 篇) |
行为分析十个维度,按演化阶段展开:单函数→单文件→多文件→多层→多系统,每篇覆盖十条流在该阶段的形态。用户流程在 CLI 阶段是一类多条(每条命令一个实例),到 GUI 才成为真正的线(见 6 从输入到交互) |
| 5 | 行为流/(3 篇) |
控制流/错误流/反馈流三条流,按流(纵向)组织:每篇追踪一条流跨五个阶段的演化,与七条流按阶段(横向)组织互补 |
| 6 | 从输入到交互/(6 篇) |
用户流程(User Flow)= 用户操作序列的五种形态:无交互CLI→有交互CLI→TUI→GUI→多系统GUI,从直线到循环到屏幕导航到控件操作到跨进程;第 6 篇把散落在五篇里的其他流(控制/执行/错误/状态/反馈/退出)合并成一条纵向线 |
| 7 | 网络系统/(5 篇) |
网络通信演化(socket→EventLoop→协议→会话)+ 组件拆分(有状态组件/无状态工具/协议数据结构)+ 组装调用(框架化/接口化)+ 设计线(协议→组件→接口→实现→框架化→组装)+ UDP 服务器与可靠性(无连接传输 + 自建可靠) |
| 8 | 网络系统组件/(6 篇) |
网络系统组件:01 拆分演化 + 02~06 每个组成部分一条线(EventLoop / Connection / Session / Buffer / Protocol 各有什么) |
| 9 | 11-模块与构建单元/(主题,6 篇) |
模块与构建单元(主题):功能函数 = 数据结构 + 算法 + 原子化接口;子线:01 接口形态 / 02 接口先行 / 03 算法类型与描述形式 / 04 数据结构从现实问题抽象 / 05 模板(类型维度封装)/ 06 工程目录的组织(Utils 与 Infrastructure 判断、Core 层、按功能组织) |
| 10 | 业务分析/(主题,8 篇) |
业务分析与领域(主题):分析线 ①②③④(需求→业务流程→功能点→功能流程与算法;数据结构来自其他设计)+ 技术流(做什么 vs 怎么做)+ 领域对象分析(一般软件/游戏建模两条线)+ 领域模型(正向建模 + 逆向展开成流程/步骤,GUI/CLI/角色设计案例) |
| 11 | 01-依赖关系/(主题,4 篇) |
依赖关系(主题):软件最基本的底层约束,贯穿所有阶段;子线:01 演化(隐式→单向→边界→构建)/ 02 依赖注入(实例共享)/ 03 依赖接口(依赖方向)/ 04 头文件(依赖的静态表达,编译期可见) |
| 12 | 02-拆解与组织/(主题,11 篇) |
拆解与组织(主题):所有架构的底层元原则——拆解解决复杂度、组织解决怎么拼;子线:01 元原则 / 02 边界 / 03 游戏拆解与组装(非 ECS)/ 04 ECS 与注册机制 / 05 组件加载 / 06 模块组织与复用 / 07 嵌入式与单片机分层 / 08 Linux 分层与组装(三种组装)/ 09 裸机 hypervisor 系统组织 / 10 微服务与组装边界 / 11 软件组织知识与四个层次(收束) |
| 13 | 03-建模与逆向/(主题,6 篇) |
正向建模与逆向应用(主题):模型怎么产生(具体→抽象→模型)怎么应用(模型→解构→具体)怎么循环(双向循环修正)怎么落地(模型→流程→分步骤);05 建模的完整机制(稳定关系/保留重要关系/有目的的结构/概念vs模型/组合层级/验证接近现实);06 知识体系文章的生成机制(正向建模文章/逆向应用文章、模型演化链、知识体系 vs 知识体系文章) |
| 14 | 04-系统角色/(主题,9 篇) |
系统角色组成(主题):程序由哪些角色组成——入口/通信/业务/基础设施;含 06 服务器与三系统边界 / 07 服务器入口的解构 / 08 GUI 入口的进一步拆分(MVVM)/ 09 认证与请求上下文(Middleware/Token/Session) |
| 15 | 05-单一职责/(主题,3 篇) |
单一职责(主题):一件事只做一件事——软件组织第一原则,贯穿所有粒度 |
| 16 | 06-设计/(主题,7 篇) |
设计(主题):先设计什么、谁来设计、怎么表示、怎么落成文档;含 05 通信程序的设计顺序 / 06 七个分析维度(结构/调用链/启动链/生命周期/数据流/业务流/状态变化)/ 07 CLI 程序的设计顺序(CLI 五层、交互与无交互统一、API 缺口双向闭环、完整流程) |
| 17 | 07-工程控制/(主题,10 篇) |
工程控制(主题):怎么保证工程不跑偏;含 01 工程控制 / 02 过程与流程 / 03 审查(头文件/验证依赖)/ 04 复刻软件(产品层反推设计)/ 05 测试(自动化断言对不对)/ 06 验证(判断好不好)/ 07 逆向工程(二进制层还原机制)/ 08 步骤工程化与审查(STEP/REVIEW 结构、原子化、状态控制流)/ 09 逆向信息保存方法(软件地图十层、对象地图/发现过程/规律库、功能发现策略库、找功能实战手法)/ 10 运行时程序扩展工程(代码载体/控制流转移/Shellcode vs DLL/运行时安全/定位稳定性/十大子系统) |
| 18 | 08-图像与绘画/(主题,2 篇) |
图像与绘画(主题):从语言/数据到图像的完整链条——语言是约束不是坐标、中间必须有领域模型 |
| 19 | 09-认知与语言/(主题,10 篇) |
认知与语言(主题):人和 AI 如何理解、认知、表达——「听懂」是结果不是阶段;01 认知语言智能(浓缩结论)/ 02 认知能力分解(完整推导)/ 03 从模型到思考 / 04 从模型到行动 / 05 知识如何形成可调用结构 / 06 从状态到系统 / 07 输入端能力与语言事件检测 / 08 预测机制 / 09 说话能力的获得-十阶段 / 10 外语表达-意义重建与反馈训练 |
| 20 | 10-桌面端架构/(主题,5 篇) |
桌面端架构(主题):GUI 桌面程序的骨架——01 Qt 主题架构(Theme→Palette→QSS→Widget)/ 02 Qt 桌面端架构(Application/UI/ViewModel/Domain/Service/Infrastructure/Utils 七层)/ 03 Win32 与自实现绑定(无内置绑定时自实现 Property/Command/Event/Observer/DataBinding + WndProc 的 View 三职责拆分)/ 04 GUI 的演化与三条流程(演化过程十阶段、演化实现流程图片查看器示例、原创 GUI 流程、演化/复刻/原创三起点对比)/ 05 GUI 与前端组件化(GUI 是子系统 MVVM 是职责关系、View 由 Application 组装、前端三种组装方式、React/Vue 只是 UI 子系统框架、框架可再封装不是终点、组件树作为框架输入) |
| 21 | 12-游戏/(主题,15 篇) |
游戏(主题):演化线(01 游戏系统论——完整行:设计12阶段+实现21阶段+世界建模+工程流程+架构三选 / 02 游戏类型演化)+ 趣味线(03)+ 游戏三条线(04 引擎组装 / 05 游戏系统组件 / 06 组件组装)+ 拆解线(07~14 玩法/结构/关卡/手感/美术/资源/程序/UI 八条拆解)+ 15 游戏领域的工程地图(创造/实现/理解三线、玩法工程、平衡工程、领域工程地图) |
| 22 | 最小闭环/(主题,3 篇) |
最小闭环(主题):跨所有线的底层——最小输入+处理+输出+验证=闭环,一切演化都是闭环半径的扩大;子线:01 概念 / 02 软件开发 / 03 游戏开发 |
主题清单(14 个)
| 编号 | 主题 | 篇数 |
|---|---|---|
| 01-依赖关系 | 依赖 | 4 |
| 02-拆解与组织 | 拆解 | 11 |
| 03-建模与逆向 | 建模 | 6 |
| 04-系统角色 | 角色 | 9 |
| 05-单一职责 | 单一职责 | 3 |
| 06-设计 | 设计 | 7 |
| 07-工程控制 | 工程 | 10 |
| 08-图像与绘画 | 图像 | 2 |
| 09-认知与语言 | 认知 | 10 |
| 10-桌面端架构 | 桌面 | 5 |
| 11-模块与构建单元 | 模块 | 6 |
| 12-游戏 | 游戏 | 15 |
| 业务分析 | 业务分析 | 8 |
| 最小闭环 | 闭环 | 3 |
合计:99 篇。
独立线(非主题)
1 | 从指令到系统(3 篇)——演化主线第一/二/三条 |
写作方法
每篇文章用正向建模 + 逆向应用:小而精准的例子 → 逐步推演到更高层模型 → 用真实程序/游戏/逆向案例验证。
《七条流》采用分阶段写法:每篇是一个演化阶段(单函数→多系统),每篇内部覆盖十条流在该阶段的完整形态,五篇之间形成递进关系。
《从输入到交互》采用分形态写法:前五篇每篇是一种交互模型(无交互CLI→多系统GUI),内部覆盖该形态的用户流程完整结构;第 6 篇把其他流合并成一条纵向线,两轴正交。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
