跳到主要内容

12 篇文档带有标签「行为型」

查看所有标签

中介者模式-Mediator Pattern

中介者模式是一种行为型设计模式,用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。本文从多人聊天室场景出发,讲解中介者模式的结构、Java 实现,并分析它在 Spring DispatcherServlet 中的应用。

命令模式-Command Pattern

命令模式是一种行为型设计模式,它将一个请求封装成一个对象,从而使你可以用不同的请求对客户端进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。本文从智能家居遥控器场景出发,讲解命令模式的结构、Java 实现(含撤销功能),并分析它在 Java Swing Action、UndoManager 等开源框架中的应用。

备忘录模式-Memento Pattern

备忘录模式是一种行为型设计模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可将该对象恢复到原先保存的状态。本文从文本编辑器撤销场景出发,讲解备忘录模式的结构、Java 实现,并分析它与命令模式的配合及在开源框架中的应用。

模板方法模式-Template Method Pattern

模板方法模式是一种行为型设计模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。本文从泡茶冲咖啡场景出发,讲解模板方法模式的结构、Java 实现,并分析它在 HttpServlet、Spring JdbcTemplate 中的应用。

状态模式-State Pattern

状态模式是一种行为型设计模式,允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。本文从订单状态流转场景出发,讲解状态模式的结构、Java 实现,并分析它在 Spring StateMachine 中的应用。

空对象模式-Null Object Pattern

空对象模式是一种行为型设计模式,用一个不做任何操作(或提供合适默认值)的对象代替 null 引用,从而消除大量空指针判断。本文从日志系统场景出发,讲解空对象模式的结构、Java 实现,并对比分析它与 java.util.Optional、JDK 空实现(OutputStream.nullOutputStream)的关系。

策略模式-Strategy Pattern

策略模式是一种行为型设计模式,定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。本文从支付方式选择场景出发,讲解策略模式的结构、Java 实现,并分析它在 java.util.Comparator、Spring 中的应用。

观察者模式-Observer Pattern

观察者模式是一种行为型设计模式,定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。本文从天气预报推送场景出发,讲解观察者模式的结构、Java 实现,并分析它在 Spring 事件机制、JDK Observable 中的应用。

解释器模式-Interpreter Pattern

解释器模式是一种行为型设计模式,给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。本文从布尔表达式求值场景出发,讲解解释器模式的结构、Java 实现,并分析它在 Spring SpEL、Java 正则表达式等框架中的应用。

访问者模式-Visitor Pattern

访问者模式是一种行为型设计模式,表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。本文从文件系统统计导出场景出发,讲解访问者模式的结构、Java 实现(双分派),并分析它在 java.nio.file.FileVisitor、ASM 中的应用。

责任链模式-Chain of Responsibility Pattern

责任链模式是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者能够处理这个请求为止。在责任链模式中,请求沿着处理者链依次传递,直到其中一个处理者能够处理该请求为止。每个处理者都是独立的,并且不知道整个链中的其他处理者。

迭代器模式-Iterator Pattern

迭代器模式是一种行为型设计模式,它提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。本文从图书馆书单遍历场景出发,讲解迭代器模式的结构、Java 实现,并分析它在 Java 集合框架(java.util.Iterator)中的广泛应用。