设计模式学习-每日一记(22.访问者模式)

本文深入探讨了访问者模式的定义、实现及其与装饰者模式、叠代器模式的区别,详细阐述了如何通过访问者模式在不改变对象类的前提下灵活定义作用于对象结构中元素的新操作。

访问者模式

A.定义:

 表示一个作用于某对象结构中各元素的操作。它使你可以在不改变对象类的前提下定义作用于这些元素的新操作。

B.定义分析:

"表示一个作用于某对象结构中各元素的操作。它使你可以在不改变对象类的前提下定义作用于这些元素的新操作。" 对象结构,即一个对象,这个对象中包含了一些数据,对应这些数据会有一些操作接口,get、set之类的。

 "表示一个作用于某对象结构中各元素的操作它使你可以在不改变对象类的前提下定义作用于这些元素的新操作。" 原本这些操作应该聚合到类中的,但是某种情况下(当你觉得不适当或者不舒服的时候),需要把这些操作接口提到外部类,这就实现了不改变类,而可以灵活改变类元素的操作接口,因为在外部。

C.文体

(1)与装饰者模式的区别?

装饰者模式也是不改变类,增加功能;但是是针对某个接口的装饰作用;访问者模式把作用于元素的操作(这些操作本属于本类)提到外部类中。

(2) 与叠代器模式的区别?

叠代器模式侧重聚合对象的内部元素的访问方法;而访问者模式侧重对对象接口中元素的操作已经增加新的操作的灵活性。 

转载于:https://www.cnblogs.com/linucos/archive/2011/11/01/2231134.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值