行为型设计模式
行为型设计模式
策略设计模式
定义:指定义一系列算法,并将每一种算法封装起来,让它们可以相互替换。策略模式能让算法独立于使用它地客户而变化。
结构图:
模板设计模式
定义:指定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一种算法的结构即可重定义该算法的某些特定步骤。
结构图:
备忘录模式
定义:指在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以在以后将对象恢复到原先保存的状态,也叫Token模式。
结构图:
观察者模式
定义:指定义对象之间的一种一对多的依赖关系,每当一个对象状态发生变化时,其相关依赖对象都能得到通知并被自动更新,又叫发布订阅模式。
结构图:
职责链模式
定义:指为了避免请求发送者与接收者耦合在一起,让多个对象都有可能接收到请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到所有对象处理为止。
结构图:
迭代器模式
定义:指提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示。迭代器模式又称为游标(Cursor),属于对象行为型模式。
结构图:
命令模式
定义:指将一个请求封装为一个对象,从而使用不同的请求对客户进行参数化;对请求排队或记录日志,以及支持可撤销的操作。又称为动作模式或事务模式。
结构图:
状态模式
定义:允许一个对象在其内部状态发生变化的时改变其行为,使对象看起来似乎修改了它的类,状态模式又称为状态对象。
结构图:
中介者模式
定义:指用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立改变它们之间地交互,又称为调停者模式。
结构图:
访问者模式
定义:指一个作用于某对象结构中各元素地操作,它可以在不改变各元素地类地前提下,定义作用于这些元素的新操作。
结构图:
解释器模式
定义:指定义语言的文法,并简历一个解释器来解释该语言中的句子,这里的”句子“是指使用规定格式和语法的代码,它是一宗类行为型模式。
结构图: