设计模式之行为型模式

一、概述

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

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

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

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

二、行为型模式分类

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

相关推荐
智想天开26 分钟前
31.设计模式的反模式与常见误区
设计模式
小飞悟2 小时前
组件通信的艺术:从 props 钻井到 context 共享的进化之路
前端·javascript·设计模式
Point2 小时前
[ahooks] useEventEmitter源码阅读
前端·javascript·设计模式
鸡蛋灌Bean2 小时前
Java常用设计模式大全
java·开发语言·设计模式
喝可乐的布偶猫2 小时前
Java-----韩顺平单例设计模式学习笔记
java·笔记·设计模式
WISHMELUCK1'2 小时前
设计模式的六大设计原则
设计模式·接口隔离原则·依赖倒置原则·里氏替换原则·迪米特法则·合成复用原则·单一职责原则
Hellyc10 小时前
基于模板设计模式开发优惠券推送功能以及对过期优惠卷进行定时清理
java·数据库·设计模式·rocketmq
追烽少年x10 小时前
设计模式---观察者模式(发布-订阅模式)
网络·设计模式
秋田君10 小时前
深入理解JavaScript设计模式之命令模式
javascript·设计模式·命令模式
花好月圆春祺夏安10 小时前
基于odoo17的设计模式详解---享元模式
设计模式·享元模式