java - 你什么时候决定为你的对象使用访问者?

标签 java design-patterns traversal visitor-pattern

我一直认为一个对象需要数据和消息来对其进行操作。您什么时候需要对象外部的方法?您接待访客时遵循什么经验法则?这是假设您可以完全控制对象图。

最佳答案

访问者模式在对相当复杂的数据结构的所有元素应用操作时特别有用,而遍历对于这些元素来说是非常重要的(例如,并行遍历元素,或遍历高度互连的数据结构)或实现双- dispatch 。如果要按顺序处理元素并且不需要双分派(dispatch),那么实现自定义 Iterable 和 Iterator 通常是更好的选择,尤其是因为它更适合其他 API。

关于java - 你什么时候决定为你的对象使用访问者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2815470/

相关文章:

javascript - 网络应用程序 : modules speaking with each others

javascript - 单页应用程序架构 (JavaScript)

java - TinkerPop3 在遍历期间更新图

algorithm - 二分查找在遍历成本方面效率不高。什么是?

javascript - jquery 查找下一个带有类的元素

java - 在Java中,如何让我的数据库表在带有标题和行的列中输出?

java - +Android Webview - 如何自动滚动页面?

java - run方法之外的同步方法

java - 我可以将复杂对象作为输入传递给 Spring WebFlow 子流吗?

c# - wcf中的单例模式