【发布时间】:2018-08-29 03:02:57
【问题描述】:
我想知道访问者模式和使用静态方法分离执行代码有什么区别。
让我们看一个我可能称之为访问者模式的例子:
new AnalyticsVisitor.accept(myClass);
例如,当从myClass 调用时,会将工作移至访问者执行。如果它是内存密集型的,它甚至会更快地收集垃圾。
现在让我们看看使用一个简单的方法来实现或多或少相同的事情:
new AnalyticsManager.execute(myClass);
我实现了同样的目标吗?
- 我有代码分离。
- 我可以将其应用于多个数据结构
- 我可以在不更改旧代码的情况下添加信息。
那么为什么要使用访问者模式而不仅仅是一个类(除非用于双重调度)?
【问题讨论】:
标签: visitor-pattern