访问者模式定义:表示一个作用于某对象结构中的各个元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。
从定义上看,这个模式跟装饰模式的定义很相似(动态地给一个对象添加一些额外的职责),但是装饰模式更多是在原有的基础上进行功能加强或者修改;而访问者模式更多是为对象添加全新的功能。
这个模式中用到了二次分发技术,跟tcp协议的三次握手有些类似,首先请求拿到对方的控制权,对方进行接受,然后开始使用控制权
访问者模式本质:预留通路,回调实现
优点:扩展性好,复用性好,分离无关行为
缺点:对象结...
分类:
其他好文 时间:
2014-05-24 22:07:00
阅读次数:
227
访问者模式(Visitor
Pattern)是GoF提出的23种设计模式中的一种,属于行为模式。定义(源于GoF《Design
Pattern》):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。从定义可以看出结构对象是使用访问者模式必备条件,...
分类:
其他好文 时间:
2014-05-23 10:23:03
阅读次数:
220
创建模式:单件模式、工厂模式、抽象工厂模式、生成器模式、原型模式。结构模式:适配器模式、桥接模式、组成模式、装饰模式、外观模式、享元模式、代理模式。行为模式:中介者模式、命令模式、备忘录模式、状态模式、策略模式、解释器模式、迭代器模式、观察者模式、访问者模式、模板方法模式。第一类:单件模式(Sing...
分类:
其他好文 时间:
2014-05-22 02:24:18
阅读次数:
391
委托模式是基本的设计模式之一。委托,即是让另一个对象帮你做事情。
许多其他的模式,如状态模式、策略模式、访问者模式本质上是在更特殊的场合采用了委托模式。
委托模式使得我们可以用聚合来替代继承。...
分类:
移动开发 时间:
2014-05-21 13:25:19
阅读次数:
273
访问者模式使你可以再不改变各元素的类的前提下定义作用于这些元素的新操作。
分离一个类结构中不变的部分和常变的操作。
分类:
编程语言 时间:
2014-05-21 05:51:40
阅读次数:
428
代理模式(Proxy
Pattern)也叫做委托模式,它是一项基本设计技巧,许多其他的模式,如状态模式、策略模式、访问者模式本质上是在更特殊的场合采用了委托模式,而且在日常的应用中,代理模式可以提供非常好的访问控制,在一些著名开源软件中也经常见到它的身影,如Struts2的Form元素映射就采用了代...
分类:
其他好文 时间:
2014-05-16 05:38:40
阅读次数:
252
本文主要分析了中介者模式、观察者模式、备忘录模式、访问者模式、状态模式、解释器模式,介绍它们的定义、优缺点、使用场景,以及实例代码。为了深刻地理解设计模式,最重要的还是动手编写代码。
我参照书中的例程重新构想了一些更加生动、易于理解的例子,希望大家喜欢。
代码可以通过以下链接进行浏览:
http://git.oschina.net/caipeichao/java-design-pattern
这些代码都经过编译运行,保证没有错误。...
分类:
其他好文 时间:
2014-05-12 23:20:22
阅读次数:
436
原文第23章 访问者模式(Visitor Pattern)访问者模式
导读:访问者模式是我个人认为所有行为模式中最为复杂的一种模式了,这个模式可能看一遍会看不懂,我也翻了好几个例子,依然不能很好的理解访问者模式的核心。下面这个例子是来源于大话设计模式中的例子,稍作了修改!后续如果我有更好的例子或者....
分类:
其他好文 时间:
2014-05-12 08:58:48
阅读次数:
258
本系列主要记录设计模式的意图是什么,它要解决一个什么问题,什么时候可以使用它;它是如何解决的,掌握它的结构图,记住它的关键代码;能够想到至少两个它的应用实例,一个生活中的,一个软件中的;这个模式的优缺点是什么,其有哪些使用场景,在使用时要注意什么。
尊重作者,转载请注明晔阳的Bloghttp://blog.csdn.net/hacke2...
分类:
其他好文 时间:
2014-04-27 21:41:57
阅读次数:
270