博客

记录技术沉淀与生活思考 · 设计模式 / C++ / Qt / ROS / 行业洞察 / 人生感悟

设计模式 软件设计 C++ Qt ROS 行业趋势 行业研判 人生感悟 软考-架构设计师 嵌入式 机器视觉

Qt 5 篇

Qt 框架相关技术文章,涵盖元对象系统、事件系统、插件架构、Qt3D 机械臂仿真等核心机制与实战。

ROS 4 篇

ROS 机器人操作系统相关文章,涵盖核心概念、通信中间件、导航与运动规划等工业级机器人开发技术栈。

C++ 6 篇

C++ 语言特性、插件化框架、现代 C++(C++11/14/17/20/23)演进与工程最佳实践。

算法 13 篇

高频算法与数据结构专题,涵盖单调栈、并查集、二分查找、DFS/BFS、动态规划、双指针、滑动窗口、前缀和、快慢指针,以及字符串、链表、树三大面试热点,每篇配原理图解与 C++ 完整代码。

单调栈

Monotone Stack

一次遍历解决"下一个更大元素"类问题:单调栈原理与弹栈含义,配每日温度、柱状图最大矩形等 LeetCode 实战。

查看详细

并查集

Union-Find

一棵树表示一个集合,O(α(n)) 合并查询:路径压缩与按秩合并,配省份数量、账户合并等 LeetCode 实战。

查看详细

二分查找

Binary Search

有序区间对数速度定位:左闭右闭、左闭右开两种边界写法,配旋转数组、中位数等 LeetCode 实战。

查看详细

深度优先搜索 DFS

DFS

一条路走到底再回溯。详解递归栈与显式栈两种实现、回溯法决策树,配岛屿数量、岛屿最大面积、全排列三个 C++ 实战示例。

查看详细

广度优先搜索 BFS

BFS

层层扩展求最短路径:队列分层遍历与 DFS 对比,配岛屿数量、单词接龙等 LeetCode 实战。

查看详细

动态规划 DP

Dynamic Programming

空间换时间自底向上填表:状态定义、转移方程与边界三要素,配 LCS、0-1 背包等 LeetCode 实战。

查看详细

双指针

Two Pointers

两指针协同遍历,O(n²) 降到 O(n):对撞与快慢两种形态,配三数之和、盛水容器等 LeetCode 实战。

查看详细

滑动窗口

Sliding Window

维护满足条件的窗口交替前进:定长与变长两种模板,配最小子数组、最长无重复子串等 LeetCode 实战。

查看详细

前缀和

Prefix Sum

预处理一次 O(1) 查区间和:一维与二维前缀和构造,配子矩阵和、和为 K 子数组等 LeetCode 实战。

查看详细

快慢指针

Fast Slow Pointers

快二慢一协同遍历:Floyd 判圈算法原理,配环形链表找入口、链表中点等 LeetCode 实战。

查看详细

字符串算法专题

String Algorithms

三大字符串算法:KMP(next 数组)、Manacher 回文半径、Rabin-Karp 滚动哈希,配 LeetCode 代码图解。

查看详细

链表算法专题

Linked List

链表三大题型:迭代/递归反转、双指针合并有序链表、哈希+双链表 LRU,配 LeetCode 完整代码。

查看详细

树算法专题

Tree Algorithms

二叉树四大核心:前中后序 DFS、层序 BFS、二叉搜索树查找插入验证,配 LeetCode 代码图解。

查看详细

设计模式 23 种

GoF 23 种经典设计模式,涵盖创建型(对象创建)、结构型(类与对象组合)、行为型(职责分配与算法交互)三大类。

单例模式

Singleton

确保一个类只有一个实例,并提供全局访问点。常用于配置管理、日志系统、线程池等需要全局唯一资源的场景。

查看详细

工厂方法

Factory Method

定义创建对象的接口,让子类决定实例化哪个类。将对象创建延迟到子类,实现调用者与具体类型的解耦。

查看详细

抽象工厂

Abstract Factory

创建一系列相关或相互依赖对象的接口,无需指定具体类。用于产品族创建,如跨平台 UI 组件工厂。

查看详细

建造者模式

Builder

将复杂对象的构建与表示分离,同样的构建过程可以创建不同的表示。适合分步骤构建复杂配置对象。

查看详细

原型模式

Prototype

通过克隆已有实例来创建新对象,而非通过 new。避免重复初始化开销,适合创建成本高的对象。

查看详细

适配器模式

Adapter

将一个类的接口转换为客户期望的另一个接口。使原本接口不兼容的类可以协同工作,如旧接口到新接口的转换。

查看详细

桥接模式

Bridge

将抽象部分与实现部分分离,使它们都可以独立变化。用组合代替继承,解决多维度变化场景。

查看详细

组合模式

Composite

将对象组合成树形结构以表示"部分-整体"层次。使单个对象和组合对象的使用具有一致性,如文件系统、UI 树。

查看详细

装饰器模式

Decorator

动态地给对象添加额外职责,比子类继承更灵活。在不改变原对象的前提下增强功能,如 IO 流包装。

查看详细

外观模式

Facade

为子系统中的一组接口提供一个一致的界面。定义一个高层接口,降低子系统访问复杂度,封装内部细节。

查看详细

享元模式

Flyweight

运用共享技术有效地支持大量细粒度对象。通过共享内部状态减少内存占用,如字符串池、图形粒子系统。

查看详细

代理模式

Proxy

为其他对象提供代理以控制对这个对象的访问。用于远程代理、虚拟代理、保护代理等场景,如智能指针。

查看详细

责任链模式

Chain of Responsibility

将请求沿着处理者链传递,每个处理者决定处理或传递。解耦发送者和接收者,如事件冒泡、中间件链。

查看详细

命令模式

Command

将请求封装为对象,从而支持参数化、排队、日志和撤销。Qt QUndoCommand 撤销框架的底层模式。

查看详细

解释器模式

Interpreter

定义一种语言的文法表示,并使用解释器解释句子。常用于规则引擎、表达式求值、SQL 解析场景。

查看详细

迭代器模式

Iterator

提供方法顺序访问聚合对象元素而不暴露其内部表示。Qt 中 QList::const_iterator 等 STL 风格迭代器的实现。

查看详细

中介者模式

Mediator

用中介对象封装一系列对象交互,将网状多对多变为星型一对多。降低同事类耦合,如 UI 组件协调。

查看详细

备忘录模式

Memento

在不破坏封装性的前提下捕获对象内部状态并保存,用于后续恢复。实现撤销/恢复功能的核心模式。

查看详细

观察者模式

Observer

定义对象间一对多依赖,状态变化时自动通知所有观察者。Qt 信号槽机制的底层思想,发布-订阅模式。

查看详细

状态模式

State

对象内部状态改变时改变其行为,状态逻辑由独立状态类管理。消除大量 if-else 状态判断,如 Qt 状态机。

查看详细

策略模式

Strategy

定义一系列算法并封装为独立策略类,运行时可动态切换。机器人运动规划、排序算法选择等场景的利器。

查看详细

模板方法

Template Method

定义算法骨架,将具体步骤延迟到子类实现。父类控制流程,子类提供实现,是代码复用的经典模式。

查看详细

访问者模式

Visitor

在不改变元素类的前提下定义作用于元素结构的新操作。数据结构与操作分离,使用双重分派机制。

查看详细

软件设计 2 篇

软件设计的底层思想与宏观范式:7 大设计原则详解(SOLID + 迪米特 + 合成复用)+ 编程范式大观(OOP、函数式、事件驱动、DDD 等)。

行业趋势 3 篇

AI 浪潮下的行业变革、机器人产业全景、岗位分化与个人发展策略研判。

软考-架构设计师 15 篇

系统架构设计师考试核心知识点,涵盖计算机硬件/网络/操作系统基础、软件架构风格、质量属性、架构评估、分布式系统、数据库架构、UML 建模、设计模式、软件工程、系统可靠性、安全架构、大数据/AI 架构等高频考点。

计算机硬件与体系结构全解析

Computer Hardware

CPU 五级流水线、Cache 映射与虚存分页、DMA/中断、CISC/RISC 与多核 NUMA,附 SVG 图与计算题真题。

查看详细

计算机网络全解析

Computer Network

OSI 七层与 TCP/IP 四层:协议设备、RIP/OSPF/BGP 路由、TCP 握手拥塞控制、子网划分与 SDN,附 SVG 真题。

查看详细

操作系统核心原理全解析

Operating System

进程线程五态转换、调度算法、死锁银行家、分页分段与页面置换、文件系统与 IO,附 SVG 流程图与计算题真题。

查看详细

软件架构风格全解析

Architecture Styles

五大经典架构风格(数据流/调用返回/独立构件/虚拟机/仓库)与 MVC、SOA、REST、微服务,附 18 张 SVG 与选型指南。

查看详细

软件质量属性全解析

Quality Attributes

六大质量属性(性能/可用/可靠/安全/可修改/可测试)、场景六要素与战术设计,附电商实战案例。

查看详细

ATAM 架构评估方法全解析

ATAM Evaluation

ATAM/SAAM/ARID 三方法对比与 ATAM 九步:效用树、敏感点/权衡点/风险点,附教育平台案例。

查看详细

微服务与云原生架构全解析

Microservice & Cloud Native

微服务拆分与边界、网关/网格/注册发现、Docker/K8s 与 DevOps、Saga 事务与链路追踪实战。

查看详细

分布式系统架构全解析

Distributed System

CAP/BASE、Paxos/Raft、分布式锁、2PC/TCC/Saga 事务、负载均衡与一致性哈希,附秒杀实战。

查看详细

数据库架构设计全解析

Database Architecture

读写分离、分库分表、NoSQL 选型、NewSQL/HTAP、缓存穿透/击穿/雪崩与湖仓一体,附订单分片实战。

查看详细

UML 建模全解析

UML Modeling

UML 13 种图:类图/用例/序列/活动/状态/组件/部署图与六大关系符号,附建模实战与软考真题。

查看详细

设计模式全解析

Design Patterns

GoF 23 种设计模式:创建型 5、结构型 7、行为型 11,含 UML 类图与软考真题解析。

查看详细

软件工程全解析

Software Engineering

生命周期与开发模型(瀑布/敏捷/DevOps)、需求工程、四级测试、配置管理与质量保证,附 ERP 案例真题。

查看详细

系统可靠性全解析

System Reliability

可靠性指标(MTBF/MTTR/可用度)、串并联表决模型、冗余设计与检查点/恢复块容错,附估算公式、航天案例与真题。

查看详细

安全架构设计全解析

Security Architecture

安全五要素与纵深防御、加密签名、PKI/CA、RBAC、Web 安全(XSS/CSRF)与 HTTPS,附银行案例真题。

查看详细

大数据与 AI 架构全解析

Big Data & AI

大数据 5V、Lambda/Kappa、Hadoop/Spark/Flink、湖仓一体、MLOps 与推理优化,附推荐系统实战。

查看详细

嵌入式 8 篇

嵌入式系统通信协议与硬件交互技术,涵盖串口通信全景、RS-232/RS-485 总线、CAN 总线、EtherCAT 工业以太网、Modbus RTU/TCP 协议、PROFINET 工业以太网、Bootloader/U-Boot 启动流程、Linux 内核驱动开发、Qt 串口编程等工业级应用开发。

串口通信全景详解

Serial Communication

TTL 到 RS-232/485/422:UART 帧格式与波特率、四种电气标准、DB9 引脚与电平转换,附 Qt 封装与 SVG。

查看详细

RS-232 与 RS-485 串口通信协议详解

RS-232/RS-485 Protocol

RS-232/485 工业串口:UART 帧结构、差分抗干扰、总线拓扑、Modbus RTU 轮询与 485 方向控制,附 Qt 代码与 SVG。

查看详细

CAN 总线协议详解

CAN / CAN FD

CAN 总线:差分信号与非破坏性仲裁、帧结构错误状态机、CAN FD、CANopen/J1939 与 CAPL/DBC,附 Qt 代码。

查看详细

EtherCAT 协议详解

EtherCAT / Industrial Ethernet

工业以太网速度之王 EtherCAT:飞越读取、ESC 从站、分布式时钟纳秒同步、CoE 协议,附 SOEM 伺服实战与 13+ SVG。

查看详细

Modbus RTU 与 Modbus TCP 协议详解

Modbus / RTU / TCP

Modbus 工业通信标准:主从架构与四类数据模型、功能码、RTU CRC16、TCP MBAP 与字节序陷阱,附 Qt 实现与 SVG。

查看详细

PROFINET 协议详解

PROFINET / RT / IRT

西门子 PROFINET:IO 三大角色、CR/API/Slot 模型、RT/IRT 实时机制、等时同步与 GSDML,附 Qt 封装与 16+ SVG。

查看详细

Bootloader 与 U-Boot 详解

Bootloader / U-Boot / SPL

Boot ROM→SPL→U-Boot→Kernel 五级启动、环境变量、设备树、bootm 引导与四种烧写,附树莓派实战。

查看详细

Linux 内核驱动开发详解

Kernel Driver / GPIO / I2C / SPI

Linux 驱动:file_operations、probe、设备树、GPIO/I2C/SPI、中断与 DMA,附代码。

查看详细

机器视觉 3 篇

机器视觉与工业检测技术,涵盖 OpenCV 开源视觉库、Halcon 商业视觉库与 OpenCV × TensorFlow 协同方案:图像处理、Blob 分析、形状匹配、亚像素测量、相机标定、3D 视觉、深度学习推理与端到端部署。