设计模式之行为型模式

一、概述

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

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

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

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

二、行为型模式分类

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

相关推荐
丶白泽1 小时前
重修设计模式-结构型-桥接模式
java·设计模式·桥接模式
南郁3 小时前
把设计模式用起来!(3)用不好模式?之时机不对
设计模式
Lill_bin4 小时前
Lua编程语言简介与应用
开发语言·数据库·缓存·设计模式·性能优化·lua
瞅瞅水6 小时前
设计模式中工厂模式的C语言实现
设计模式
SchneeDuan8 小时前
iOS六大设计原则&&设计模式
ios·设计模式·cocoa·设计原则
Book_熬夜!10 小时前
Python基础(十)——闭包、装饰器、设计模式与多线程编程
开发语言·python·设计模式
java_heartLake19 小时前
设计模式之工厂方法模式
java·设计模式·工厂方法模式
我码玄黄1 天前
JS 的行为设计模式:策略、观察者与命令模式
javascript·设计模式·命令模式
会敲代码的小张1 天前
设计模式-观察者模式
java·开发语言·后端·观察者模式·设计模式·代理模式
宗浩多捞1 天前
C++设计模式(更新中)
开发语言·c++·设计模式