Соответствует ли шаблон C # лучше, чем полиморфизм? - PullRequest
0 голосов
/ 22 февраля 2019

C # 7 введено сопоставление с образцом, которое позволяет, например, включать типы и действовать в соответствии с базовым типом.

Теперь, и исходя из того факта, что C # является объектно-ориентированным, типы, которые мы включаем, могут, например, реализовать тот же базовый класс или интерфейс и переопределить это базовое поведение, чтобы достичь того, что сопоставление с образцом может сделать длянас.

Почему бы вместо этого использовать сопоставление с образцом?

1 Ответ

0 голосов
/ 22 февраля 2019

Сопоставление с образцом играет центральную роль в функциональном программировании так же, как полиморфизм играет центральную роль в объектно-ориентированном программировании.

Кроме того, я лично использовал бы сопоставление с образцом всякий раз, когда заранее знаю полный спектр возможных типов.,Например, класс Maybe, который может быть либо SomeValue, либо NoValue.Для динамических сценариев вы не можете использовать сопоставление с образцом в первую очередь.

Чтобы ответить на исходный вопрос: нет, сопоставление с образцом не лучше, чем полиморфизм, это нечто иное.

Вот еще одинотличный ответ по теме: https://softwareengineering.stackexchange.com/a/231095

...