Visitor模式

有些服务操作的对象结构比较复杂,服务的实现分在定义的对象结构种的各个类中,难于维护以及升级,,使用一个独立的Visitor类实现服务,针对对象结构中的每个类根据其类型的不同实现不同的行为(方法重载)。对定义对象结构的类进行扩展,每个类增加一个方法用来接收Visitor对象,并且在这个方法中根据自身的类型回调并执行Vistro的相应方法。
简易图如下:

[img]http://dl.iteye.com/upload/attachment/530494/1b620180-9b23-39e0-9aed-2eb40685979d.jpg[/img]

Visitor类为每个自己操作的对象定义一个方法,每个方法实现的一部分是专门针对那个对象的类的实例。将Visitor传入到要访问的对象结构中,结构中的对象根据自己的类型进行方法调用。

Visitor模式可以实现全局性结构的拓扑管理功能。可以让不同的关注点进行分离。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值