小编Maj*_*han的帖子

访问者选择如何遍历的访问者模式

据我了解,在访问者模式的典型规范中,被访问的对象决定如何遍历,一般只支持一种遍历顺序。(参见,例如,这里这里。)

是否有相同使用双重分派的名称,但访问者可以决定如何遍历对象层次结构?在我的应用程序中,一个非常异构的文档模型类型集合正在向访问者推送,例如导出操作。但是,要说各种处理器(访问者)都应该以广度优先顺序遍历似乎有些僵硬。其中一些可能只关注模型的一个子集,或者可能需要以特定的顺序处理模型的各个部分。

我担心以非标准方式使用访问者模式中的名称会混淆其他开发人员。我的建议有名字吗?

我还会问是否有理由不让访问者控制遍历,以防万一我遗漏了通常的访问者公式中的一些智慧。如果可能相关,该应用程序是 Java 语言。

design-patterns double-dispatch visitor

6
推荐指数
1
解决办法
2241
查看次数

标签 统计

design-patterns ×1

double-dispatch ×1

visitor ×1