• 23 articles
设计模式
设计模式源文件已丢失,可参考完整文章 https://www.yuque.com/guosgbin/desgin-pattern
All Articles in 设计模式
SEP062021
设计模式
设计模式23-解释器模式-Interpreter
给定一种语言,定义其文法表示并构建解释器来解释句子中的语句。每条文法规则对应一个表达式类,递归解析语法树。适用于简单语法的解析场景,如正则表达式引擎、SQL 解析器、表达式计算器。
1 min read
SEP052021
设计模式
设计模式22-访问者模式-Visitor
将作用于某对象结构中各元素的操作分离出来封装成访问者类,在不修改元素类的前提下定义新的操作。适合对象结构稳定但操作频繁变化的场景。缺点是增加新元素困难,如编译器 AST 访问、XML 文档解析。
1 min read
SEP052021
设计模式
设计模式21-模板方法模式-Template Method
在父类中定义算法骨架,将某些步骤延迟到子类实现。子类可在不改变整体流程的前提下重定义特定步骤。核心是不变行为在父类、可变行为在子类。如 HttpServlet 的 doGet/doPost、AbstractQueuedSynchronizer。
1 min read
SEP052021
设计模式
设计模式20-策略模式-Strategy
定义一系列算法并将它们封装起来,使算法可以互相替换。策略独立于使用它的客户而变化。通过组合而非继承实现算法的动态切换,如支付方式选择、排序算法选择、Comparator 比较器等。
1 min read
SEP022021
设计模式
设计模式19-状态模式-State
允许对象在其内部状态改变时改变其行为,看起来像改变了类本身。将每个状态封装为独立的类,通过状态转移控制行为变化。适用于订单状态流转、工作流引擎、TCP 连接状态管理等场景。
3 min read
AUG272021
设计模式
设计模式17-备忘录模式-Memento
在不破坏封装性的前提下捕获对象的内部状态并在外部保存,以便后续恢复。包含发起人、备忘录和管理者三个角色。常见于文本编辑器的撤销功能、游戏存档回滚、事务回滚等场景。
2 min read





