2009-09-17 9 views
10

Jestem głęboko w kolana w rozpoczęciu nowego projektu ASP.NET MVC. Kilka samouczków zalecało użycie MVC Contrib. Chciałem uzyskać opinię społeczności Stack Overflow, jeśli spełniło się obietnica zwiększenia wydajności dzięki ASP.NET MVC. Zasadniczo korzyści z MVC Contrib warto dodać kolejne leaky abstraction do mojej aplikacji?Czy MVC Contrib spełnia obietnicę zwiększenia produktywności w ASP.NET MVC

+0

Trzeba tylko użyć tyle, ile chcesz użyć. Większość pomysłów Contrib MVC została już włączona do MVC v2 i stwierdziliśmy, że jest to niezbędne w naszym projekcie (szczególnie pomocnicy testowi). –

Odpowiedz

10

Myślę, że MVC Contrib jest bezcenny, jeśli chodzi o testowanie. Zapewniają wiele metod rozszerzenia, które pozwalają na płynne testowanie wyników rutowania i działania. Np

"~/Administration/Użytkownicy/Modyfikacja/tester" .ShouldMapTo (A => a.Modify ("tester"));

... do routingu, a wyniki działania:

Controller.List() .AssertViewRendered() .WithViewData>() .Count .ShouldEqual (4 „Powinienem zwróciło 4 użytkowników ");

Również MVC Contrib dostarcza pomocną klasę TestControllerBuilder, która może zbudować kontroler i zadbać o fałszowanie wszystkich niezbędnych typów kontekstu HTTP. To nie wydaje się dużo, ale w parze z DI, pisząc to sam, jeśli ból.

 Builder = new TestControllerBuilder(); 
     Builder.CreateController<CT>(); 

Przechodząc z testów, fabryki kontroler dla DI/IoC są bardzo przydatne, więc nie trzeba go napisać samemu, ale nie zasadniczy IMHO.

Inną rzeczą, która mi się podoba w MVC Contrib są płynne pomocniki HTML. Myślę, że to jest o wiele ładniejszy, aby ustawić właściwości HTML i innych danych za pomocą tego rodzaju płynnych pomocników - Oto dwa przykłady:

<% = this.TextBox („nazwa”) Label ("aktywny. Nazwa kategorii: ") .Maksymalna długość (50) .Klasa (" wymagane ")