JiveJdon Community Forums
在线325人   Home   论坛   培训咨询   精华   查搜   注册   登陆
首页 » 论坛 » 设计模式、框架和架构
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 3 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
envy@u

悄悄话
发表文章: 2
注册时间: 2003年05月10日 13:44
求救!不理解visitor模式``````` 2003年05月10日 13:59 本帖网址 发送到手机 回复
gof的书上说这个模式使得增加新的操作变得容易,这个新的操作指添加在哪个对象中的操作?

是指增加在Visitor中的操作吗?

还有gof说增加新的ConcreteElement变得困难,因此增加ConcreteElement就要在Visitor中增加一个新的操作,这不是和上面的增加新的操作矛盾了吗?

估计我对增加新的操作的理解还不正确,最好能结合[url]http://www.jdon.com/designpatterns/visitor.htm[/url]一文给小弟解释一翻

感激不尽
iyshang

悄悄话
发表文章: 25
注册时间: 2002年10月02日 20:26
Re: 求救!不理解visitor模式``````` 2003年05月10日 17:31 本帖网址 发送到手机 回复
增加操作意味着增加一个visitor类的子类,而不是在visitor中增加一个方法。

GoF说增加新的ConcreteElementx,那么当然应该在visitor中添加方法VisitConcreteElementx(ConcreteElementx),对应的每个visitor子类都要添加。banq说的:可见使用Visitor模式是有前提的,在两个接口Visitor和Visitable中,确保Visitor很少变化,变化的是Visitable,这样使用Visitor最方便.注意,这里visitor里面的类型也就是gof中的concreteElement, 应该是很少变化。

envy@u

悄悄话
发表文章: 2
注册时间: 2003年05月10日 13:44
Re: 求救!不理解visitor模式``````` 2003年05月10日 22:00 本帖网址 发送到手机 回复
我大致明白了你的意思,不过能否结合http://www.jdon.com/designpatterns/visitor.htm里面的例子说明一下增加新的操作
iyshang

悄悄话
发表文章: 25
注册时间: 2002年10月02日 20:26
Re: 求救!不理解visitor模式``````` 2003年05月10日 23:42 本帖网址 发送到手机 回复
增加ConcreteVisitor2类,在其中的visitCollection(Collection c)visitString(String s)visitFloat(Float f)三方法中添加新的功能。另外,ConcreteElement2 ConcreteElement3你要模仿ConcreteElement自己写。
这个主题有 3 回复 / 1 页 [ ]
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam