ASP.NET MVC助手扩展&关注点分离

时间:2010-08-12 20:01:47

标签: c# asp.net-mvc

当为this article中描述的类似导航窗口小部件实现帮助扩展时,我注意到我的HTML现在已经被C#代码绑定了,所以如果我想用新菜单重新设置网站的外观需要稍微不同标记的控件(例如<ul class="foo">...</ul>或嵌套<li>标签的不同类名称)我现在必须编辑辅助扩展和视图。

使用帮助程序扩展程序更快更容易,但这是否违反了关注点分离?您在维护此类代码方面有哪些经验?我是微软MVC的新手,请原谅我,如果我在这里错过了一些观点。

2 个答案:

答案 0 :(得分:2)

精心设计的HTML Helper应该是多功能的,并且对于如何构建HTML非常宽松。您可以向扩展方法添加可覆盖选项,以便可以根据需要进行渲染。如果您有新要求且现有帮助程序不够灵活,请对其进行扩展以满足新要求。

答案 1 :(得分:1)

我认为你是对的并且发现了类似的事情。如果你需要在将来改变事物,那么现在更快/更容易对未来的潜在痛苦。您可以在其使用的模板中读取“帮助器”,因此您可以更改它,重新启动Web应用程序并查看更改。然而,这也增加了复杂性。我想说很多敏捷人说现在做更容易/更快的事情,并明白将来如果你的要求发生变化,那么就重新审视它。谁知道,它可能永远不会发生。