【1】引入
在这组的行为模式中包括解释器模式,中介者模式,访问者模式,策略模式,备忘录模式,迭代器模式。
【2】各模式简介
一:解释器模式通常当有一个语言需要解释执行时,即该语言有一定的代表性和广泛性时,就要涉及到解释器模式。二:中介者模式即用一个中介对象来封装一系列的对象之间的交互关联关系,且中介者需要知道每一个具体的对象,而每一个具体的对象之间却不需要知道彼此,从而使其耦合松散。通过中介者来关联彼此,且中介者可独立的改变对象之间的交互。三:访问者模式:表示作用于一个相对稳定对象结构(人分为男人和女人)中的各元素(其人的状态)的操作,这样既可以使得这些元素相对自由的变化。而不影响那个稳定的对象结构。四:策略模式策略模式就是对算法的一种封装,说白了,还是不断的从算法种类中抽象出类,就是策略类,封装了算法的变化。五:备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以达到以后对该对象恢复状态的一个目的。其中备忘录(Memento)把所要保存的细节都封装了起来,也就是说,客户端只需和管理者(负责管理备忘录的人)发生交互。六:迭代器模式:
给具体迭代器类(售票员)提供一种方法顺序访问一个聚集对象(公交车)中的各个元素(如小菜),并且不暴露该对象(如小菜)的内部表示(不管你是谁)。其实我感觉挺像遍历模式的。【3】模式之间对比分析
一:访问者模式VS迭代器模式:
首先,这两个模式其实都是一种“访问”,前者主要针对的是存储在一起的不同对象集合的一种访问,即是这样的一种遍历;而后者,也是一种遍历,不过它主要针对的是存储在一起的相同类型对象集合的一种访问。【4】总结
同前一篇的关于行为性模式一的介绍,这都是行为性模式,其共同特点就是:不再单单局限于类与对象的介绍,更多的是放在它们之间的行为交互上。