Scala中的双重调度

Scala中的双重调度,scala,Scala,在java中,我们对访问者使用双重分派模式。Scala可以使用模式匹配来解决这个问题,因为它非常强大。我只是想知道Scala中是否有一个好的双重分派示例,或者它非常糟糕,因为相互公开引用不是一个好主意 事先非常感谢Martin Odersky:“访客模式[…]可以基于虚拟方法调度,以面向对象的方式表示我们使用模式匹配所做的一些事情。但在实际使用中,访问者模式非常庞大。使用模式匹配无法完成许多非常简单的事情。你最终会遇到非常多的访问者。而且,随着现代虚拟机技术的发展,它的可能比模式匹配效率更低。出

在java中,我们对访问者使用双重分派模式。Scala可以使用模式匹配来解决这个问题,因为它非常强大。我只是想知道Scala中是否有一个好的双重分派示例,或者它非常糟糕,因为相互公开引用不是一个好主意


事先非常感谢

Martin Odersky:“访客模式[…]可以基于虚拟方法调度,以面向对象的方式表示我们使用模式匹配所做的一些事情。但在实际使用中,访问者模式非常庞大。使用模式匹配无法完成许多非常简单的事情。你最终会遇到非常多的访问者。而且,随着现代虚拟机技术的发展,它的可能比模式匹配效率更低。出于这两个原因,我认为模式匹配有一定的作用。“我已经做了自己的基准测试,可以确认模式匹配通常优于访问者模式,同时可读性更高-访问者模式几乎是Scala中的反模式。另一种选择是使用类型类,它甚至可以更具可扩展性,但代价是一些boiler-plate