Amo*_*kar 24 oop design-patterns scala
注意:我问这个问题是出于好奇而不是质疑语言特征的重要性.
看起来是一个伟大的功能介绍给命令式编程世界的人.我是Scala的新手,并且仍然试图找出所有内容,它的大量构造适合并且可以被利用.
模式匹配绝对可以比开关情况好100倍.但是,它仍然是一个案例结构,从OOP出来的时候起我们就更喜欢使用多态性.
所以简而言之,我发现难以理解的是,如果switch case鼓励重复,我们最好将与案例相关的代码编写到各自的类中,那么Scala的模式匹配如何克服这个问题呢?
我们仍然可以为各种情况提供类或泛型类,并再次利用多态来满足我们的需求.
agi*_*eel 16
这是对象和数据结构之间差异的问题.
如果您正在处理对象,请使用子类型多态 - 添加新类型不需要重新编译,重新测试或重新部署现有类型,而添加新算法(接口上的方法,位于层次结构的顶部) .
如果您正在处理数据结构使用模式匹配 - 添加新算法不需要重新编译,重新测试或重新部署现有算法,而添加新类型则需要.
在这里阅读更多相关信息.