首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计形式学习笔记——Visitor模式(行为)

2012-11-05 
设计模式学习笔记——Visitor模式(行为)需要解决的问题:作用于某一个对象群时,对象本身不变化,对象可以通过

设计模式学习笔记——Visitor模式(行为)
需要解决的问题:
作用于某一个对象群时,对象本身不变化,对象可以通过与它交互的对象获取不同的行为。
具体事例:
当你去银行办理业务的时候,会发现银行内部开设了不同的窗口(普通业务、代办业务、基金保险等等),你可以根据实际的需要选择自己需要的窗口办理业务。比如:你去了普通窗口,工作人员会认为你就是来办理普通业务的;而你去了代办业务窗口,工作人员会认为你就是来办理代办业务的;否则你就失去错了窗口。
具体实施步骤:
1、定义一个对象群,此处容易误解,可以这样说:定义一个容纳所有业务需要的对象。
2、定义一个接口,处理对象群与固定对象的业务关系。
3、实现固定对象与对象群的对象交互,定义所有的业务实现。
代码模板:
对象群,即对象的所有业务需要。

public class Test {public static void main(String[] args) {Service a = new AService();Service b = new BService();Service c = new CService();Visitor visitor = new Visitor();a.doService(visitor);b.doService(visitor);c.doService(visitor);}}


执行结果:
A service
B service
C service

说明:
Visitor(访问者)模式,名字听起来像一个与自己无关的类,我只知道我来是想干什么,但是怎么干已经有人提前准备好了,这是从Visitor的角度分析。而从提供给Visitor服务的角度看,就像一个固定死死的东西,不管来的人是谁,我只管给它提供一种统一的服务。
就是一个观光客的感觉。
计划好了去游玩什么地方,而这些地方已经时刻准备着为你的到来服务。当然你到了华山,它也不可能给你提供黄山的感觉,你只能欣赏华山了。玩笑而已。
希望不吝指教,谢谢。

热点排行