【发布时间】:2012-01-29 11:43:15
【问题描述】:
我正在阅读这篇文章,以证明 MVC 优于常规旧 php 的非 mvc(不使用 MVC,即使是经典的 asp 也可以使用,尽管很痛苦):
http://www.codinghorror.com/blog/2008/07/web-development-as-tag-soup.html
我找不到答案。我认为得到标签汤是不可避免的。是的,我知道 MVC 将模型和控制器分开,但是当你看到视图时,一切都变得可怕了。我可以阅读发出的 html,与标记汤一样好或更好。
我不会使用单元测试,所以这并不是一个重要的优势。我不确定如何避免丑陋的视图,现在无论我如何让它枯萎 mvc 或只是发出 html。
我不认为使用所有奇怪的编码(它是代码)来维护视图比使用 response.write "<table>" 更容易。
示例:Dealing with ASP.NET MVC "tag soup"
Arnis 的回答(对他或其他任何人都没有冒犯)修复了问题中的可怕代码,但对我来说这仍然看起来很糟糕,或者至少不是我所期望的。对我来说,那些尖括号也可能是<% %> 或<?php ?>。
我喜欢 codeigniter 之类的东西,它确实是我见过的最干净的东西,但它仍然不是我所期望的。我想我希望 MVC 中存在一些让一切变得美丽的魔法。显然,除非真的很小心,否则没有比使用经典 asp 更好的方法了,因为它与视图有关。
这主要是关于视图。不是关于哪种语言更适合什么或谁的模板引擎最棒(它们都有相同的标记混合倾向)。
相信我。我希望让 MVC 与我的共同开发人员一起工作,所以我根本不反对它作为一种范式。我不能让他们仅仅因为每个人都在这样做或类似的事情就同意某件事。
感谢任何 cmets。我必须能够证明这些事情的合理性,虽然我了解 MVC 以及我得到的东西,但这种观点让很多事情看起来像是在浪费时间。
edit:一切似乎都针对特定框架而不是计划。我看到了一些见解,但最终似乎除了纪律之外别无他法。谢谢大家的回答。
【问题讨论】:
-
对您的编辑的评论 johnny - 您是否意识到 Razor 视图引擎包含在 MVC 3 中?不需要额外的框架,所以不需要说服你的老板购买或下载任何额外的东西!
-
@connell 我的问题不仅仅是关于 asp.net 和它拥有的任何脚本引擎。它包含任何 MVC 设置。 asp.net 只是一个例子。
-
啊,那我很抱歉。我误解了,但 Marcin 似乎也误解了,他添加了asp.net-mvc 标签;D
-
@ConnellWatkins 我认为最容易被误解。它们都是很好的答案,但与 asp.net 的联系如此紧密,以至于它并没有像我希望的那样有帮助。我认为最终的答案是,只要遵守纪律,以及一些不该做什么的指示。不过,我确实喜欢 Razor 解决方案。
标签: asp.net-mvc model-view-controller