ПРИМЕЧАНИЕ. Я задаю этот вопрос из любознательности и не ставя под сомнение важность языковой функции.
Похоже, это отличная функция, представленная людям из императивного мира программирования. Я новичок в Scala и все еще пытаюсь выяснить, где все, сделайте его массивные множества конструкций подходящими и можно использовать.
Совпадение шаблонов может определенно сделать материал на 100 x лучше, чем в случае с переключателем. но тем не менее, это конструкция случая, над которой мы предпочитаем полиморфизм с момента выхода ООП.
Итак, кратко, что мне трудно понять, это: если случай переключения поощряет дублирование, и мы лучше записываем код, связанный с кодом, в соответствующие классы, то как Scala сопоставление шаблонов преодолевает это?
Мы можем по-прежнему иметь классы или общие классы для различных случаев и снова использовать полиморфизм для нашей потребности.