Java设计模式再相识 (二十三)——访问者模式访问者模式(Visitor Pattern) 在我们开发中,有时候会遇到这样一种情况:一个对象结构中有很多不同类型的对象,而我们需要对这些对象执行一些“额外操作”,但又不希望修改这些对象本身的代码。比如: 对一组不同类型的文件做压缩、备份等处理 对公司组织架构中的员工做统计、加薪等操作 编译器中,对语法树节点进行类型检查或代码生成 这时候就可以考虑使用 访问者模式(Visitor Pattern)...2022-03-213976 字14 分钟200 次Java设计模式行为型模式
Java设计模式再相识 (二十二)——解释器模式在开发过程中,有些系统的核心在于对“规则”或“表达式”进行解释和执行。比如: 一个自定义的条件表达式语言 简单脚本引擎 SQL、正则、数学公式解析 行为系统中的规则判断 这类需求的特点是:规则是可配置的、结构是可以被语法化表示的、系统需要“理解”这些表达式并做出相应行为。 这时候就可以考虑使用 解释器模式 来实现一个可扩展、可维护的语法解析方案。 什么是解释器模式?2022-03-153051 字11 分钟221 次Java设计模式行为型模式
Java设计模式再相识 (二十一)——备忘录模式在实际开发中,我们常常会遇到这样的需求:某个对象需要恢复到之前的某个状态。例如: 文本编辑器的“撤销”功能 游戏的“读档”操作 表单的“重置”按钮 配置管理中的“恢复默认设置” 这些场景的本质就是保存历史快照,以便在需要的时候回滚。 什么是备忘录模式?2022-03-072630 字9 分钟160 次Java设计模式行为型模式
Java设计模式再相识 (二十)——迭代器模式在开发中,我们经常需要遍历某些集合,例如遍历购物车中的商品、遍历数据库返回的结果、遍历某个目录下的所有文件等。如果不使用统一的遍历方式,我们就得手动维护下标或者暴露集合的内部结构,不仅繁琐,还容易出错。 那么有没有一种方法,可以在不暴露集合内部结构的前提下,提供一种统一的遍历机制? 答案就是使用 迭代器模式(Iterator)。 什么是迭代器模式?2022-03-062786 字10 分钟145 次Java设计模式行为型模式
Java设计模式再相识 (十九)——中介者模式中介者模式可用于降低多个对象间通信的复杂性,中介者模式属于行为型模式。本文将以Java为例,带你重温GoF设计模式之中介者模式,并深入理解中介者模式及其应用场景。2022-03-043216 字11 分钟169 次Java设计模式行为型模式
Java设计模式再相识 (十八)——观察者模式观察者模式属于行为型模式。本文将以Java为例,带你重温GoF设计模式之观察者模式,并深入理解观察者模式及其应用场景。2022-02-273209 字11 分钟176 次Java设计模式行为型模式
Java设计模式再相识 (十七)——状态模式状态模式属于行为型模式。本文将以Java为例,带你重温GoF设计模式之状态模式,并深入理解状态模式及其应用场景。2022-02-262910 字10 分钟112 次Java设计模式行为型模式
Java设计模式再相识 (十六)——责任链模式责任链模式属于行为型模式。本文将以Java为例,带你重温GoF设计模式之责任链模式,并深入理解责任链模式及其应用场景。2022-02-253455 字12 分钟125 次Java设计模式行为型模式
Java设计模式再相识 (十五)——命令模式命令模式属于行为型模式。本文将以Java为例,带你重温GoF设计模式之命令模式,并深入理解命令模式及其应用场景。2022-02-243861 字13 分钟100 次Java设计模式行为型模式
Java设计模式再相识 (十四)——策略模式策略模式属于行为型模式,策略模式在实际项目应用较多。本文将以Java为例,带你重温GoF设计模式之策略模式,并深入理解策略模式及其应用场景。2022-02-233671 字13 分钟93 次Java设计模式行为型模式