MVC Contrib 是不是兑现了提高 ASP.NET MVC 生产力的承诺

Posted

技术标签:

【中文标题】MVC Contrib 是不是兑现了提高 ASP.NET MVC 生产力的承诺【英文标题】:Does MVC Contrib fulfill its promise of increasing productivity in ASP.NET MVCMVC Contrib 是否兑现了提高 ASP.NET MVC 生产力的承诺 【发布时间】:2010-11-29 05:06:44 【问题描述】:

我正准备开始一个新的 ASP.NET MVC 项目。有几个教程推荐使用MVC Contrib。如果 Stack Overflow 社区兑现了通过 ASP.NET MVC 提高生产力的承诺,我想征求他们的意见。基本上 MVC Contrib 的好处值得在我的应用程序中添加另一个 leaky abstraction 吗?

【问题讨论】:

您只需要使用多少就多少。大多数 MVC Contrib 想法已被纳入 MVC v2,我们发现它对我们的项目至关重要(尤其是测试助手)。 【参考方案1】:

我认为 MVC Contrib 在测试方面非常宝贵。它们提供了很多扩展方法,让您可以流畅地测试路由和操作结果。例如:

“~/管理/用户/修改/testuser” .ShouldMapTo(a => a.Modify("testuser"));

...用于路由和操作结果:

Controller.List() .AssertViewRendered() .WithViewData>() 。数数 .ShouldEqual(4, "应该是4个用户返回");

此外,MVC Contrib 提供了一个有用的 TestControllerBuilder 类,它可以构建一个控制器并负责伪造所有必要的 HTTP 上下文类型的东西。这看起来并不多,但与 DI 搭配使用,如果很痛苦,请自己编写。

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

从测试开始,DI/IoC 的控制器工厂非常有用,因此您不必自己编写它,但恕我直言,这不是必需的。

我喜欢 MVC Contrib 的另一点是流畅的 html 助手。我认为使用这些流利的助手设置 HTML 属性和其他数据要好得多——这里有两个例子:

【讨论】:

以上是关于MVC Contrib 是不是兑现了提高 ASP.NET MVC 生产力的承诺的主要内容,如果未能解决你的问题,请参考以下文章

Elmah.MVC 与 Elmah.contrib.Mvc

如何提高码农产量,基于ASP.NET MVC的敏捷开发框架之自定义表单开发随笔四

扩展 HTML Grid 以在 Html Grid 末尾添加 div (MVC Contrib)

ASP.NET MVC 模块与组件——发送邮件

如何提高码农产量,基于ASP.NET MVC的敏捷开发框架之工作流开发随笔三

ASP.NET MVC:数据注释验证是不是足够?