摘要: 所谓双分派,就是根据方法的接收者以及某一个参量的类型的不同而执行不同的代码。Java语言以方法重载的试支持静态的多分派,而通过方法的重写支持动态的单分派访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。 访问者模式适用于数据结构相对未定的系统,它把数据结构和作用于结构之上的操作之间的耦合解脱开,使得操作集合可以相对自由地演化。所涉及角色:1.抽象访问者(Visitor)角色:声明了一个或多个访问操作,形成所有的具体元素角色必须实现的接口2.具体访问者(ConcreteVisitor)角色:实. 阅读全文
posted @ 2013-08-05 15:54 丁丁木木 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 状态模式(State Pattern),又称为状态对象模式(Pattern of Objects for Statues),状态模式是对象的行为模式。状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类。状态模式的意图是让一个对象在其内部状态改变的时候,其行为也随之改变。模式所涉及角色有:1.抽象状态角色:定义接口,用以封装环境(Context)对象的一个特定的状态所对应的行为2.具体状态角色:每一个具体状态类都实现了环境(Context)的一个状态所对应 的行为3.环境(Context)角色:定义客户端所感兴趣的接口,并且保留一个具体状态类的实例。 阅读全文
posted @ 2013-08-05 14:31 丁丁木木 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 备忘录模式又叫快照模式(Snapshot Pattern)或Token模式,是对象的行为模式。备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并外部化(Externalize),存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。它常常与命令模式和迭代子模式一同使用。常见的软件系统往往不止存储一个状态,而是需要存储多个状态。这些状态常常是一个对象历史发展的不同阶段的快照,存储这些快照的备忘录对象叫做此对象的历史:某一个快照所处的位置叫做检查点(Check Point)备忘录模式涉及三个角色:备忘录(Meme 阅读全文
posted @ 2013-08-05 11:25 丁丁木木 阅读(280) 评论(0) 推荐(0) 编辑