复习大话设计模式---访问者模式难道就是访问一个集合对象这么简单?
当时大话设计模式是以男人和女人为例子的,在回顾一下,结合APS看看门户有没有用到这个模式
答:访问visitor原来是:操作的意思
当对象的数据结构固定,而需要添加新操作,也就是新的访问行为时,应该使用访问者模式
举个例子:
一个list中有男人女人(人Persion是基类,accept(Action visitor)接受行为[访问]),
而成功,结婚是不同行为Action
在成功这个Action中,因为有两个不同对象,所以有两个状态
manAction(Man man)---男人成功,证明遇到一个好女人,帮助了他
womanAction(Woman woman)女人成功,证明遇到一个坏男人,伤害了她
在对象结构固定时,加多一个行为,譬如结婚,男人结婚如何,女人结婚又如何,只需要加多一个Action visitor就够了
Class Marriage extend Action{
void manAction(Man man){...};
void womanAction(Woman woman){...}
}
注意:访问者模式仅仅适用对象结构固定的情况下,新增操作哦,不要滥用哦,亲!
分享到:
相关推荐
设计模式C++学习之访问者模式(Visitor)
访问者模式Demo
设计模式 - 访问者模式
68丨访问者模式(上):手把手带你还原访问者模式诞生的思维过程1
最简单的访问者模式讲解代码,设计模式可看看博客中简介http://blog.sina.com.cn/s/blog_161d504630102wxis.html
建造者模式组合模式访问者模式 abstract class Bulider{ public abstract void BuildPartA() ; public abstract void BuildPartB() ; public abstract Product GetResult() ; }
访问者模式的小例子
访问者模式代码
访问者模式的第二个例子
java设计模式之访问者模式,通过实际例子说明访问者模式原理和适用场景;
访问者模式,你绝对会用到的模式,值得学习,通俗易懂的实例,原理和运用都说明白了。
设计模式之访问者模式Java版本的实现和UML类图
设计模式的访问者模式的例子,希望对大家有用~~~~~~~~
C#面向对象设计模式 (行为型模式) Visitor 访问者模式 视频讲座下载
设计模式-访问者模式(讲解及其实现代码)
ios 平台实现设计模式-访问者模式,以最简单的代码实现访问者模式讲解,主旨在于了解访问者模式,博客:http://blog.sina.com.cn/s/blog_161d504630102wwxe.html
访问者模式(Visitor) 用意:适用于数据结构相对未定的系统,把数据结构和作用于结构上的操作间的耦合解开。
访问者模式(Visitor),表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。