我一直认为一个对象需要数据和消息来对其进行操作。您什么时候需要对象外部的方法?您接待访客时遵循什么经验法则?这是假设您可以完全控制对象图。
最佳答案
访问者模式在对相当复杂的数据结构的所有元素应用操作时特别有用,而遍历对于这些元素来说是非常重要的(例如,并行遍历元素,或遍历高度互连的数据结构)或实现双- dispatch 。如果要按顺序处理元素并且不需要双分派(dispatch),那么实现自定义 Iterable 和 Iterator 通常是更好的选择,尤其是因为它更适合其他 API。
关于java - 你什么时候决定为你的对象使用访问者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2815470/