-
解释器模式完全指南:从规则引擎到 SpEL 与 mini 语言设计
解释器模式是 23 个 GoF 模式里"应用场景最窄但威力最大"的一个 —— 它专门解决"给定一种文法,构造一个能解释这种文法语句的解释器"。听起来很学术,但你工作里早就用过:Excel 的公式、Linux 的正则、SQL 查询、模板引擎、表达式语言、规则引擎、CSS 选择器,本质都是解释器。这篇文章把解释器从原理讲到 ANTLR / Drools / Sp…- 0
- 0
-
访问者模式完全指南:从 AST 遍历到 Java NIO FileVisitor 的双分派艺术
访问者模式可能是 23 个 GoF 模式里"最难一眼理解但威力最大"的一个 —— 它解决一个具体的工程难题:已经定型的对象树,如何在不改这些类的前提下给它们添加新操作。编译器的 AST 遍历、Lint 工具、序列化框架、文档结构分析,背后都靠它。这篇文章把访问者从动机讲到 AST 工具、Java NIO FileVisitor、JSON 树解析,讲清楚它和组合模式、迭代器、双分…- 0
- 0
-
模板方法模式完全指南:从 Spring JdbcTemplate 到 Servlet 与框架设计
模板方法模式是 GoF 23 个模式里"最像继承本身"的一个 —— 它的核心思想就是"把算法的骨架定义在父类,具体步骤的实现交给子类"。Spring 的 JdbcTemplate / RestTemplate、Servlet 的 service 方法、Junit 的测试生命周期、几乎所有用 "Template" 命名的类背后都是它。这篇文…- 0
- 0
-
备忘录模式完全指南:从撤销重做到游戏存档与配置回滚
备忘录模式听起来就和"撤销"密切相关 —— 它的核心目标是在不破坏对象封装性的前提下,保存对象内部状态,以便日后恢复。文本编辑器的 undo、游戏存档、数据库事务、配置回滚,背后都是它。这篇文章从最朴素的"复制对象"讲起,讲清楚备忘录、命令模式和原型模式的关系,以及在内存敏感场景下的优化技巧。 问题:复制对象会破坏封装 看一个最朴素的尝试 —— 保存编辑器状…- 0
- 0
-
状态模式完全指南:从 if 地狱到订单状态机的优雅演化
"为什么我的代码里 if (status == X) 写得到处都是?"—— 这是状态模式登场的最常见前奏。订单状态、连接状态、UI 状态、游戏角色状态:只要一个对象在不同状态下有不同行为,if/switch 就开始堆积。状态模式给出的答案是:把每个状态做成一个对象,对象的行为随状态对象切换而改变。这篇文章把状态模式从"if 地狱"讲到状态机框架、Redux …- 0
- 0
-
策略模式完全指南:从 if/else 选算法到 Spring 注入与 AB 测试
"我有一组算法,根据条件选择用哪个" —— 这是策略模式的天然场景。排序算法、压缩算法、定价规则、推荐策略、支付方式 —— 处处都是它。策略模式可能是 23 个模式里最"代码量小、收益却大"的一个。这篇文章把策略模式从动机讲到 Lambda 实现、Spring 注入、AB 测试,讲清楚它和状态、模板方法的边界。 问题:if/else 选算法 class So…- 0
- 0
-
命令模式完全指南:从 Undo/Redo 到 Event Sourcing 与 CQRS
命令模式听起来抽象,但落地极其具体:把"做一件事"封装成一个对象。一旦做到这点,你可以排队、撤销、重做、记录、回放、跨进程传输 —— 这些能力都是因为"操作变成数据"而获得的。Redux 的 action、消息队列的 message、数据库的事务日志、文本编辑器的 undo/redo、Git 的 commit —— 背后都是命令模式。这篇文章把命令模式从动机…- 0
- 0
-
迭代器模式完全指南:从 for-each 到 Stream / Generator 的现代演化
迭代器模式是 23 个 GoF 模式里最"成功"的一个 —— 成功到几乎所有现代语言都把它内置进语法:Java 的 for-each、Python 的 for x in、JS 的 for...of、C# 的 foreach、Rust 的 iter()。这背后都是迭代器模式。但内置归内置,什么时候要自己实现迭代器、惰性求值的代价、流式处理的边界,这些工程问题没那么显然。这篇文章把…- 0
- 0
-
中介者模式完全指南:从表单联动地狱到消息总线的解耦利器
中介者模式名字玄但解决的问题特别接地气:一堆对象彼此互相调用导致依赖网爆炸时,引入一个"中介",让它们只和中介通信。聊天室、表单字段联动、机场塔台、空管系统、消息总线 —— 这些场景都是中介者。这篇文章从一个真实的"表单联动地狱"讲起,看清中介者怎么把 N×N 的依赖压成 N×1。 问题:对象之间互相调,关系成"网" 看一个常见的表单需求…- 0
- 0
-
责任链模式完全指南:从 if/else 地狱到中间件管道的工程演化
责任链模式可能是行为型模式里"应用密度最高"的一个 —— Express / Koa / Spring Security / Servlet Filter / Netty Pipeline / Redux 中间件,几乎所有需要"一串处理器依次处理同一个请求"的地方,你都能找到它。这篇文章把责任链的本质讲透,从最朴素的 if/else 重构开始,走到 HTTP…- 0
- 0
行为型
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!










