Выполняет ли MVC Contrib свое обещание увеличения производительности в ASP.NET MVC
Я по колено в начале нового проекта ASP.NET MVC. В нескольких руководствах рекомендовано использование MVC Contrib. Я хотел бы узнать мнение сообщества по переполнению стека, если оно выполнит свое обещание по увеличению производительности с ASP.NET MVC. В принципе, стоит ли использовать преимущества MVC Contrib, добавив еще одну неплотную абстракцию в мое приложение?
1 ответ
Я думаю, что MVC Contrib неоценим, когда дело доходит до тестирования. Они предоставляют множество методов расширения, которые позволяют свободно тестировать результаты маршрутизации и действий. Например:
"~ / Administration / Users / Modify / testuser".ShouldMapTo (a => a.Modify ("testuser"));
... для маршрутизации и для результатов действий:
Controller.List ().AssertViewRendered ().WithViewData> ().Count.ShouldEqual (4, "Должно быть возвращено 4 пользователя");
Также MVC Contrib предоставляет полезный класс TestControllerBuilder, который может создать контроллер и позаботиться о фальсификации всех необходимых типов контекста HTTP. Это не так уж много, но в паре с DI, если вы пишете это самостоятельно, если вам больно.
Builder = new TestControllerBuilder(); Builder.CreateController<CT>();
Переходя от тестирования, фабрики контроллеров для DI/IoC действительно полезны, так что вам не нужно писать это самостоятельно, но не обязательно, IMHO.
Еще одна вещь, которая мне нравится в MVC Contrib - это беглые помощники HTML. Я думаю, что гораздо удобнее устанавливать свойства HTML и другие данные с помощью таких беглых помощников - вот два примера:
<% = this.TextBox ("name"). Label ("Имя категории активности:").MaxLength (50).Class ("обязательно")