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 生产力的承诺的主要内容,如果未能解决你的问题,请参考以下文章
如何提高码农产量,基于ASP.NET MVC的敏捷开发框架之自定义表单开发随笔四
扩展 HTML Grid 以在 Html Grid 末尾添加 div (MVC Contrib)