![]() |
1
2
|
![]() |
2
0
对不同的节点行为使用visitor模式将删除类型检查。然而,我这样做是为了得到一个更干净的设计,而不是性能,因为我怀疑会有任何显著的性能差异。 如果在编译时节点行为的类型是静态的,那么visitor模式工作得很好。当您添加一个新的节点行为时,您将向visitor接口添加一个新方法,这意味着编译器将捕获未处理该行为的情况。 使用特殊类型检查,您必须手动检查代码,以确定需要在何处为新行为类型添加新处理程序。
|
![]() |
JBryanB · 如何从基本抽象类访问类属性 2 年前 |
![]() |
Gabe Tucker · 无法在golang中分配接口对象指针 3 年前 |
![]() |
jkone27 · F#-在编译时从字符串生成简单的空类型 7 年前 |
![]() |
John Bustos · C#通用工厂模式,不说明通用工厂模式的类型 7 年前 |
![]() |
Randall Flagg · 访问propertyinfo中的属性 7 年前 |
![]() |
Kacper · 在反映的全名和成员c后的“*”中,“+”是什么意思# 7 年前 |
![]() |
tobeypeters · 反射铸造 7 年前 |
![]() |
myst02 · 如何在另一个方法之后调用该方法? 7 年前 |