Должен ли я сделать свои действия контроллера ASP.NET MVC виртуальными? - PullRequest
7 голосов
/ 04 июня 2011

Файл -> Новый проект для проектов ASP.NET MVC, используемых для генерации контроллеров с виртуальными действиями.Я не уверен, прекратилось ли это с MVC 2 или MVC 3, но разве это уже не лучшая практика?

Ответы [ 4 ]

7 голосов
/ 05 июня 2011

T4MVC Делает методы действий виртуальными. Если вы используете его, он должен сделать методы действия виртуальными, иначе он не сможет работать

2 голосов
/ 04 июня 2011

Текущая документация для ASP.NET MVC 3 не показывает виртуальные методы.Я не совсем уверен, что их создание virtual принесет вам пользу, так как я никогда не делил субклассы на контроллеры для отмены действий.

1 голос
/ 04 июня 2011

Если вы сделаете их виртуальными, тогда контролерам будет проще издеваться, если вы используете их в тестах.

0 голосов
/ 19 февраля 2016

Сгенерированный код может быть сделан виртуальным по разным причинам.Не стоит делать виртуальный собственный код, если этого не требует какой-либо инструмент.См. Принцип замены Лискова и Открытый / Закрытый принцип.Я думаю, что некоторые фреймворки делают это для облегчения создания прокси, но я не могу представить себе причину, чтобы все ваши методы были виртуальными.Для меня это крик программиста копирования / вставки или грузового культа.

...