在 C# 中使用魔法字符串真的让我感到不安,所以我正在考虑使用 MVC Futures 库。
有什么我可能不想这样做的原因,或者我应该注意的任何问题吗?
在 C# 中使用魔法字符串真的让我感到不安,所以我正在考虑使用 MVC Futures 库。
有什么我可能不想这样做的原因,或者我应该注意的任何问题吗?
首先,仅仅因为它是一个字符串,并不能使它成为一个“神奇”的字符串。其次,我建议查看 David Ebbo 在这里写的 T4MVC 模板:http: //blogs.msdn.com/davidebb/archive/2009/06/17/a-new-and-improved-asp-net- mvc-t4-template.aspx。
这种方法的好处是通过使用代码生成,您可以在任何地方获得强类型,并且不需要编译会损害性能的表达式。
我已经使用它大约 1 个月了,真的很喜欢它。例如,我喜欢新的强类型 Html 助手,它肯定比使用魔术字符串更好:
<%= Html.TextBoxFor(m => m.User.FirstName)%>
根据 MVC 路线图,此功能将成为 MVC 2 的一部分,但即使不应该,我仍然拥有期货源代码,因此我可以使用此帮助程序实现作为最后的手段。
使用 ASP.NET MVC Futures 中的功能的风险是
我认为它有一些真正应该在 MVC 库中的功能,但我会远离强类型操作链接。这可能会在 CPU 上变得非常昂贵,可能会将 SECONDS(而不是 MS)添加到您的页面渲染时间。
http://www.chadmoran.com/blog/2009/4/23/optimizing-url-generation-in-aspnet-mvc-part-2.html
我经常发现自己使用的 MVC 期货中可用的功能之一是 RenderAction,因为它是解决部分输出缓存的唯一方法。
对期货不太确定,但我强烈推荐Mvccontrib库,它依赖于期货中的一些位。