定义

在软件系统运行时,对象并不是孤立存在的,它们可以通过相互通信协作完成某些功能,一个对象在运行时也将影响到其他对象的运行。行为型模式(Behavioral Pattern)关注系统中对象之间的交互,研究系统在运行时对象之间的相互通信与协作,进一步对象的职责。行为型模式不仅仅关注类和对象本身,还重点关注它们之间的相互作用和职责划分

分类

模式名称 定义 使用频率
职责链模式(Chain of Responsibility Pattern) 避免将请求发送者与接收者耦合在一起,让多个对象都有机会接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止 2星
命令模式(Command Pattern) 将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作 4星
解释器模式(Interpreter Pattern) 定义一个语言的文法,并且建立一个解释器来解释该语言中的句子 1星
迭代器模式(Iterator Pattern) 提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示 5星
中介者模式(Mediator Pattern) 用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间地交互 2星
备忘录模式(Memento Pattern) 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存了这个状态,这样就可以在以后将对象恢复到原先保存的状态 2星
观察者模式(Observer Pattern) 定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新 5星
状态模式(State Pattern) 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类 3星
策略模式(Strategy Pattern) 定义了一系列算法类,将每一个算法封装起来,并让它们可以互相替换。策略模式让算法独立于使用它的客户而变化 4星
模板方法模式(Template Method Pattern) 定义一个操作中算法的框架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤 3星
访问者模式(Visitor Pattern) 提供一个作用于某对象结构中的各元素的操作表示,它使得可以在不改变各元素的类的前提下定义作用于这些元素的新操作 1星
上次更新: 9/22/2020, 12:20:37 AM