【发布时间】:2009-06-26 09:54:33
【问题描述】:
在 C# 中使用魔法字符串真的让我很不安,所以我正在考虑使用 MVC Futures 库。
是否有任何我不想这样做的原因,或者我应该注意的任何问题?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-futures
在 C# 中使用魔法字符串真的让我很不安,所以我正在考虑使用 MVC Futures 库。
是否有任何我不想这样做的原因,或者我应该注意的任何问题?
【问题讨论】:
标签: asp.net-mvc asp.net-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 库,它依赖于期货中的一些位。
【讨论】: