『行为型』解释器模式

解释器模式是一种行为型设计模式,用于解释语言语法或表达式,将一个语言中的句子表示为一个抽象语法树,并定义了一种解释器,用于解释这些句子。 使用背景 定义一种语言或规则:当需要定义一种语言或规则,并且希望能够解释和执行这种语言或规则时,可以使用解释器模...

『行为型』模板方法模式

模板方法模式是一种行为设计模式, 它在超类中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。 使用背景 算法骨架固定,但某些步骤可变: 当你有一个算法,其中的某些步骤可能在不同的情况下需要变化,但整体的算法结构是固定的时候,模...

『行为型』监听者模式

监听者模式是一种行为设计模式, 允许你定义一种订阅机制, 可在对象事件发生时通知多个 “监听” 该对象的其他对象。 使用背景 对象间的一对多依赖关系:当一个对象的状态发生变化时,需要通知多个其他对象进行相应的更新。观察者模式可以建立一种一对多的依赖关...

『行为型』迭代器模式

迭代器模式是一种行为设计模式, 让你能在不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的元素。 使用背景 遍历集合元素:迭代器模式最典型的用途是遍历集合中的元素,如数组、列表、树等。通过提供一个迭代器,客户端可以逐个访问集合中的...

『行为型』命令模式

命令模式是一种行为设计模式, 它可将请求转换为一个包含与请求相关的所有信息的独立对象。 该转换让你能根据不同的请求将方法参数化、 延迟请求执行或将其放入队列中, 且能实现可撤销操作。 使用背景 解耦请求发送者和请求接收者:当需要解耦请求发送者和请求接...

『行为型』快照模式

快照模式是一种行为设计模式, 允许在不暴露对象实现细节的情况下保存和恢复对象之前的状态。 使用背景 撤销功能:当需要实现撤销(Undo)功能时,可以使用快照模式来保存对象的历史状态。用户可以执行撤销操作,将对象恢复到之前的状态。 备份和恢复:在需要...

『行为型』策略模式

策略模式是一种行为设计模式, 它能让你定义一系列算法, 并将每种算法分别放入独立的类中, 以使算法的对象能够相互替换。 使用背景 行为的变化:当一个类的行为取决于它的状态,并且它在运行时可以根据不同的状态改变它的行为时,就可以考虑使用策略模式。通过定...

『行为型』访问者模式

访问者模式是一种行为设计模式, 它能将算法与其所作用的对象隔离开来。 使用场景 对象结构稳定,但需要新增操作:当一个对象结构中的元素类很少变化,但是需要经常添加新的操作时,访问者模式就可以派上用场。通过将新操作封装在访问者中,可以避免修改元素类并保持...

『行为型』状态模式

状态模式是一种行为设计模式, 让你能在一个对象的内部状态变化时改变其行为, 使其看上去就像改变了自身所属的类一样。 使用场景 有限状态机:当对象有限个状态且在不同状态下具有不同行为时,状态模式是理想的选择。例如,一个订单在“待支付”、“已支付”、“已...

『行为型』中介者模式

中介者模式是一种行为设计模式, 能让你减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互, 迫使它们通过一个中介者对象进行合作。 使用场景中介者模式通常在以下情况下使用: 引用关系复杂:当系统中对象之间存在复杂的交互关系时,通过引入中...

12

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。