Tworząc aplikację ASP.NET MVC w wielu miejscach wykorzystujemy stringi do określenia takich rzeczy jak: nazwa kontrolera, nazwa akcji, nazwa widoku, ścieżka do pliku i wiele innych. Osobiście nie lubię używania napisów w kodzie aplikacji. Ciężko znaleźć później użycia danego napisu, przez co, gdy zmieniamy na przykład nazwę akcji, to wtedy bardzo łatwo o pominięcie jakiegoś linku w aplikacji, co powoduje, że psujemy jej działanie. Do tego dochodzą problemy z literówkami, c...
As you may know, there's a little problem with the attribute routing in ASP.NET MVC: generating a link (via Html.ActionLink) might get real slow when you've got hundreds of attributed actions. The answer to this issue is to use named routes, so instead of Html.ActionLink you use Html.RouteLink, but that's not quite handy, at least for me it isn't. Given that I'm used to T4MVC, it seems like a step back.
I love T4MVC. It allows me to stop using those ugly magic strings while generating compile-time valid links or accessing resources from ASP.NET MVC views. It also has a very nice feature called IModelUnbinder. In short: it can translate action argument of any type into properly constructed link.