20061013pm--C#面向对象设计模式纵横谈(24)(行为型模.pdf
-
资源ID:69626212
资源大小:185.19KB
全文页数:11页
- 资源格式: PDF
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
20061013pm--C#面向对象设计模式纵横谈(24)(行为型模.pdf
C#面向对象设计模式纵横谈24.Visitor 访问者(行为型模式)李建忠设计模式论坛:上海祝成科技 高级培训讲师类层次结构的变化类层次结构中可能经常由于引入新的操作,从而将类型变得脆弱类层次结构中可能经常由于引入新的操作,从而将类型变得脆弱动机(Motivation)在软件构建过程中,由于需求的改变,某些类层次结构中常常需要增加新的行为(方法),如果直接在基类中做这样的更改,将会给子类带来很繁重的变更负担,甚至破坏原有设计。如何在不更改类层次结构的前提下,在运行时根据需要透明地为类层次结构上的各个类动态添加新的操作,从而避免上述问题?意图(Intent)表示一个作用于某对象结构中的各元素的操作。它可以在不改变各元素的类的前提下定义作用于这些元素的新的操作。设计模式GoF例说Visitor模式应用Codes in VS.NET结构(Structure)Visitor模式的几个要点 Visitor模式通过所谓双重分发(double dispatch)来实现在不更改Element类层次结构的前提下,在运行时透明地为类层次结构上的各个类动态添加新的操作。所谓双重分发即 Visitor模式中间包括了两个多态分发(注意其中的多态机制):第一个为accept方法的多态辨析;第二个为visit方法的多态辨析。Visitor模式的最大缺点在于扩展类层次结构(增添新的Element子类),会导致Visitor类的改变。因此Vistor模式适用于“Element类层次结构稳定,而其中的操作却经常面临频繁改动”。推荐资源 设计模式:可复用面向对象软件的基础GoF 面向对象分析与设计Grady Booch 敏捷软件开发:原则、模式与实践Robert C.Martin 重构:改善既有代码的设计 Martin Fowler Refactoring to PatternsJoshua Kerievsky获取更多MSDN资源 MSDN中文网站中文网站http:/ MSDN中文网络广播中文网络广播http:/ MSDN Flashhttp:/ MSDN开发中心开发中心http:/