Файл -> Нов проект за ASP.NET MVC проекти, използвани за генериране на контролери с виртуални действия. Не съм сигурен дали това спря с MVC 2 или MVC 3, но това вече не е ли най-добрата практика?
Трябва ли да направя действията на контролера на ASP.NET MVC виртуални?
Отговори (4)
T4MVC Прави методите за действие виртуални. Ако го използвате, той трябва да направи методите за действие виртуални, няма друг начин да работи
текущата документация за ASP.NET MVC 3 не показва виртуални методи. Не съм много сигурен какво ще ви спечели, ако ги направите virtual
, тъй като никога не съм подкласирал контролери, за да заменят действията.
Ако ги направите виртуални, това ще направи контролерите по-лесни за подиграване, ако ги използвате в тестове.
Генерираният код може да бъде направен виртуален по различни причини. Не е добра практика да правите свой собствен код виртуален, освен ако не се изисква от някакъв инструмент. Вижте Принцип на заместване на Лисков и Принцип на отворено/затворено. Мисля, че някои рамки правят това, за да улеснят създаването на проксита, но не мога да си представя причина да направите всичките си методи виртуални. За мен това крещи копиране/поставяне или карго култов програмист.