设计模式之行为型模式

一、概述

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

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

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

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

二、行为型模式分类

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

相关推荐
捕鲸叉9 小时前
MVC(Model-View-Controller)模式概述
开发语言·c++·设计模式
wrx繁星点点9 小时前
享元模式:高效管理共享对象的设计模式
java·开发语言·spring·设计模式·maven·intellij-idea·享元模式
凉辰9 小时前
设计模式 策略模式 场景Vue (技术提升)
vue.js·设计模式·策略模式
菜菜-plus10 小时前
java设计模式之策略模式
java·设计模式·策略模式
暗黑起源喵10 小时前
设计模式-迭代器
设计模式
lexusv8ls600h11 小时前
微服务设计模式 - 网关路由模式(Gateway Routing Pattern)
spring boot·微服务·设计模式
sniper_fandc14 小时前
抽象工厂模式
java·设计模式·抽象工厂模式
无敌岩雀16 小时前
C++设计模式结构型模式———外观模式
c++·设计模式·外观模式
hxj..17 小时前
【设计模式】观察者模式
java·观察者模式·设计模式
XYX的Blog19 小时前
设计模式09-行为型模式2(状态模式/策略模式/Java)
设计模式·状态模式·策略模式