设计模式之行为型模式

一、概述

1、行为型模式关注系统中对象之间的交互,研究系统在运行时对象之间的相互通信与协作,进一步明确对象的职责

2、行为型模式:不仅仅关注类和对象本身 ,还重点关注它们之间的相互作用和职责划分

**3、类行为型模式:**使用继承关心在几个类之间分配行为,主要通过多态等方式来分配父类与子类的职责

4、对象行为模式:使用对象的关联关系 来分配行为,主要通过对象关联等方式分配两个或多个类的职责

二、行为型模式分类

|--------|----------------------------------------------------------------------------------|
| 职责链模式 | 避免将一个请求的发送者与接受者耦合在一起,让多个对象都有机会处理请求。将接受请求的对象连接成一条链,并且沿着这条链传递请求,直到有一个对象能够处理它为止 |
| 命令模式 | 将一个请求封装成一个对象,从而让你可以用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及支持可撤销的操作 |
| 解释器模式 | 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子 |
| 迭代器模式 | 提供一种方法顺序访问一个聚合对象中的各个元素,且不用暴露该对象的内部表示 |
| 中介者模式 | **定义一个对象来封装一系列对象的交互。**中介者模式使各对象之间不需要显示地相互引用,从而使其耦合松散,而且让你可以独立地改变它们之间的交互 |
| 备忘录模式 | 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态 |
| 观察者模式 | 定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象都得到通知并被自动更新 |
| 状态模式 | 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类 |
| 策略模式 | 定义一系列算法,将每一个算法封装起来,并让它们可以相互替换,策略模式让算法可以·独立于他的客户变化 |
| 模版方法模式 | 定义一个操作中算法的框架,而将一些步骤延迟到子类中。模版方法模式使得子类不改变一个算法的结构即可重定义该算法的某些特定步骤 |
| 访问者模式 | 表示一个作用于某对象种的各个元素的操作。访问者模式让你可以在改变各元素的类的前提下定义作用于这些元素的新操作 |

相关推荐
Larcher5 小时前
AI Loop:让AI像人一样自主完成任务的核心机制
javascript·人工智能·设计模式
咖啡八杯1 天前
GoF设计模式——享元模式
java·spring·设计模式·享元模式
:mnong1 天前
学习创建结构行为设计模式
设计模式
w_t_y_y2 天前
Agent设计模式(四)多模态融合模式(Multi-Modal Fusion)
设计模式
zhouhui0012 天前
订单状态的 if-else 地狱上线就崩——状态模式的工业级落地
设计模式
geovindu2 天前
go: Reactor Pattern
开发语言·后端·设计模式·golang·反应器模式
一只旭宝2 天前
【C++入门精讲22】常见设计模式
c++·设计模式
许彰午2 天前
38_Java设计模式之装饰器模式
java·设计模式·装饰器模式
geovindu2 天前
python: Reactor Pattern
开发语言·python·设计模式·反应器模式
workflower3 天前
基于机器学习的设备故障预测分析方法
人工智能·算法·机器学习·设计模式·语言模型·自然语言处理·重构