asp.net-mvc – ASP.NET MVC适合复杂的Web应用程序吗?
上周,我的老板要求我的团队为下一个项目评估ASP.NET MVC.
我们所有人都从.NET 1.1开始使用webform,之前我们没有MVC经验,但我的所有同事都对ASP.NET MVC感兴趣,但没有运气,我们的最终答案是否定的. 因为: >我们相信尽管您是ASP.NET Guru,但您可以在短时间内构建复杂的应用程序.但是如果你改为ASP.NET MVC,开发时间会花费更长的时间,每个东西都需要使用html helper,没有web控件,还有很多问题,请继续打开带有ASP.NET论坛的Firefox Tab,询问How-To问题. 我可以说,MVC并不坏,但Webform足以应对这项工作. 解决方法
转换为新技术或“思维方式”需要数周时间.
使用MVC,您必须摆脱旧的ASP.NET Forms思考“复杂Web应用程序”的方式,即“我们有多少页面,超过300页!这将是巨大的!”.您可以更改整个应用程序的视图.你从“接下来需要创建的页面”的旧思维转向MVC思考“我们下一步需要实现什么功能”的思维方式. 例如,我自己控制了一个项目,该项目仅在’web’项目中有超过3300个文件(加上11个支持程序集).我正在构建的一件事是MVC将如何将物理文件的数量大幅减少到大约310左右.怎么样?因为我正在离开“这里是一页.这是另一页.”以“这是我想要实现的功能”的思维方式. 通过将页面视为您要完成的功能,您可以开始将该页面的各个部分抽象为常用功能. MVC可以通过这种思维方式进行大规模扩展,因为现在你有一个模板用于你希望它的外观,你只需要实现另一个“函数”来改变你想要渲染的视图(html)的外观.没有第二页,没有额外的控制等. 现在,正如你所提到的“没有网络控制”:再次,这需要一种不同的思维方式. HtmlHelper用于基本渲染和编码.我使用一个名为MyProjectHelper的抽象类使用相同的概念,它将我的“函数”呈现在页面上(functions = code). 例如,我过去总是为我的DisplayNames创建一个服务器控件.这允许我控制DisplayName的显示方式,特别是切换到Facebook Connect和其他东西.使用MVC,我不再使用“服务器控件”,而是使用ViewModel上的“函数”来呈现该文本:CollegeProjectViewModel.RenderDisplayName().因为这只是UI层的一部分,所以这将根据需要使用我想要的任何选项呈现Anchor(当然,摘要由CollegeProjectViewModel继承,它接收“基本”文本呈现). MVC的强大之处在于不再需要“网页”,而是“功能”或您想要对您的网站做什么的方法.通过改变这种思维方式,您可以使用在控制器上创建的方法进行扩展.它确实加速了大规模的IMO. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 输出字符串里的字符串文字引用
- asp.net-mvc-3 – IIS 7.5没有注意到MVC 3 app返
- asp.net-mvc – 为什么我的视图模型中的内部成员
- asp.net-mvc – 如何将特定于HTTP-Request的对象
- asp.net – 是否可以解密和查看ViewState值?
- asp.net – 在程序集中找不到上下文类型
- entity-framework – 如何将OData查询与DTO映射到
- asp.net – 如何使用ReportService2010命名空间呈
- asp.net – WebForms身份验证作为MVC过滤器
- webforms – ASP.NET Web窗体(4.5)强类型模型绑定