Выполняет ли MVC Contrib свое обещание увеличения производительности в ASP.NET MVC - PullRequest
10 голосов
/ 17 сентября 2009

Я по колено в начале нового проекта ASP.NET MVC. В нескольких руководствах рекомендуется использовать MVC Contrib . Я хотел бы узнать мнение сообщества по переполнению стека, если оно выполнит свое обещание по увеличению производительности с ASP.NET MVC. В основном преимущества MVC Contrib стоит добавить еще одну неплотную абстракцию в мое приложение?

1 Ответ

10 голосов
/ 17 сентября 2009

Я думаю, что MVC Contrib неоценим, когда дело доходит до тестирования. Они предоставляют множество методов расширения, которые позволяют свободно тестировать результаты маршрутизации и действий. Например:

"~ / Администрирование / Пользователи / Изменить / 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 ("обязательно") </p>

...