责任链模式:
意图:使多个对象都有机会处理请求,避免请求的发送者和接受者有耦合关系。将这些对象连成一条链
适用:多个的对象可以处理一个请求,具体哪个处理在运行时确定
在不明确指明接收者的情况下向多个对象中的一个提交请求
可处理一个请求的对象集合应被动态指定
命令模式:
意图:将请求封装为一个对象使得可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,支持可撤销的操作
适用:抽象出待执行的动作以参数化某对象
在不同的时刻指定、排列和执行请求
支持取消操作
支持修改日志
解释器模式:
意图:使用该表示来解释语言中的句子
适用:(1)该文法简单。(2)效率不是一个关键问题。
当有一个语言需要解释执行,并且可以将该语言中的句子表示为一个抽象语法树时
迭代器模式:
意图:提供一种方法顺序访问一个聚合对象中的各个元素,且不需要暴漏该对象的内部表示
适用:
中介者模式:
意图:用一个中介对象来封装一系列的对象交互,使各对象不需要显式的引用,使耦合松散,独立地改变他们之间的交互
适用:一组对象以定义良好但是复杂的方式通信,产生的相互依赖关系结构混乱难以理解
一个对象引用其他很多对象直接通信,导致难以复用
定制一个分布在多个类中的行为,又不想产生太多子类
备忘录模式:
意图:在不破坏封装性的前提下捕获一个对象的内部状态,在对象之外保存这个状态。这样之后就可以恢复到这个状态
适用:必须保存一个对象在某一时刻的状态,这样以后需要的时候就可以恢复到先前状态,
观察者模式:
意图:定义对象之间一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖与它的对象都会得到通知并被自动通知
状态模式:
意图:允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎改变了它的类
适用:一个对象的行为决定于它的状态,并且它必须时刻运行根据状态改变它的行为
一个操作中含有庞大的分支语句。且这些分支依赖于该对象的状态,这个状态常用一个或多个枚举常量表示
标签:状态,请求,05,对象,软考,模式,意图,一个,设计模式 From: https://www.cnblogs.com/kun1790051360/p/17788679.html