设计模式之行为型模式

一、概述

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

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

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

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

二、行为型模式分类

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

相关推荐
bryant_meng14 小时前
【Codex】Part 19 — Codex Prompt Design Patterns
设计模式·prompt·playbook·结果优先·用证据定义完成
AI人工智能+电脑小能手15 小时前
大白话说Java设计模式-38-迭代器模式(业务实战篇)
java·设计模式·迭代器模式·stream·遍历封装·集合通用·分页遍历
qyyyyy57017 小时前
芯片 Application Note PDF 怎么读?参考电路、BOM 和调试波形翻译实战
嵌入式硬件·设计模式·机器翻译·web application
程序员贺加贝19 小时前
列表导出不够用-SaaS-ERP-单据详情导出的-Provider-模板与文档型-Excel-设计
java·后端·设计模式·架构·excel
AI人工智能+电脑小能手2 天前
大白话说Java设计模式-34-命令模式(业务实战篇)
java·spring·设计模式·命令模式·异步任务·撤销重做·事务封装
用户202252215062 天前
字节发布"豆包工作",我从AI PM角度看到的不是功能,是上下文
设计模式
AI人工智能+电脑小能手2 天前
大白话说Java设计模式-37-中介者模式(源码剖析篇)
java·设计模式·线程池·中介者模式·源码分析·executor·applicationeventmulticaster
电子科技圈2 天前
IAR与东软睿驰达成战略合作,强化软件开发效率与生态协作
设计模式·开源·软件工程·软件构建·代码规范·设计规范·代码复审
吴声子夜歌2 天前
Java面试——设计模式(四)
java·设计模式·面试
吴声子夜歌2 天前
Java面试——设计模式(一)
java·设计模式·面试