我是MVC结构的新手,觉得完成任务比较困难,因为这是一种新的做事方式。有没有人有MVC与页面做事方式的经验。 MVC的方式是现在这样做的圣洁还是仍然有价值做普通的面向对象开发(甚至是程序页面webdev)? MVC是一种时尚吗?
答案 0 :(得分:6)
MVC的利弊简要列表
<强>赞成强>
<强>缺点强>
MVC不仅仅是一种时尚。这是一种非常实用的方法,可将Web应用程序的多个关注点分成可管理和可重用的部分。虽然它确实需要一些人习惯,但是有一些有意识的努力打破你的应用程序,MVC风格可能是非常有益的。解决方案通常更简洁,因为它们只需要专注于单一操作或任务。
这也不是一个新想法。它自1979年以来一直以某种形式出现(@Sarfraz Ahmed's link),并已在各种网络和桌面平台中使用。
如果您发现自己在使用MVC样式的实现时遇到问题,请尝试将其分解为正在使用的各个部分或操作,以及它们对应的区域,模型视图或控制器。正如您可能预期的那样,随着时间的推移,这将变得更加容易。
祝你好运答案 1 :(得分:2)
如果我们谈论ASP.NET MVC,the framework page itself就这一点进行了讨论:
ASP.NET MVC框架具有以下优点:
基于Web窗体的框架具有以下优势:
答案 2 :(得分:2)
MVC与否,主要取决于您的项目需求。有时候我有简单的东西,不需要模型,但仍然可以从控制器/视图安排中受益。在那些情况下,我可能会使用微框架(对于PHP来说是limonade)甚至更少。我的大多数Web项目仍然是MVC应用程序。
我在1996-1997左右开始制作网站,一切都是新的,从长远来看,没有什么可能是好的或坏的想法。大约在2005年,当我离开军队并重新开始进行网络开发时,通过有机设计代码的老鼠巢进行战斗并不是那么有趣。所以当我介绍Ruby on Rails和MVC的概念时,我立即认识到这是一个改变游戏规则的人。
随着越来越多的网络项目越来越多地采用MVC,它通过提供跨公司和项目的共同点,为下一代开发人员的生活铺平了道路,使其更容易,更高效。是的,从合作脚本的前期简单性到页面项目,MVC有点难以接受,但是任何值得做的事情都不会那么容易吗?
尽管如此,如果你在一种语言中获得MVC的良好基础,它可以为你提供学习其他语言的心理共同点。至于MVC作为主导框架设计模式的持续时间,软件行业就像沙漠一样,日常事物发生变化,好的想法变得更好(XHR用于websockets,嵌入式对象用于原生音频/视频标签),但我认为无论什么最终毁灭者,MVC都会有些相似,因为如果只有很小一部分人理解它,那么一个想法是多么重要并不重要。
答案 3 :(得分:1)
I think this exhaustive list provides answers to all your questions about MVC.
既然你没有提到语言,如果你的意思是php中的mvc那么这也是一个很棒的 mvc新手的资源:
答案 4 :(得分:0)
这是来自ASP.NET WinForms - &gt; ASP.NET MVC透视,然而,ASP.NET MVC是我第一次听说MVC模式(noob程序员),我想如果我在ASP.NET MVC之前用另一种语言发现MVC,我会离开ASP.NET / C#并进入该框架。
学习和使用MVC让我成为更好的程序员。我一直认为ASP.NET在我自己和代码(HTML或C#)之间设置了一个透明的屏障。
我一直想突破这个障碍,而MVC让我可以完全控制我的应用程序中的所有内容,同时强调关注点的分离(这使得编码变得更加有趣而且不那么令人头疼)。
对我来说,MVC是正确的选择。
答案 5 :(得分:0)
MVC(一般情况下)的一大优势是,您创建单片应用程序的可能性要小得多。你有一个请求 - 行为 - 响应途径,而不是ASP.NET webforms或JSF(虽然JSF没有webforms那么糟糕)。对于webforms中的小型站点来说,很容易成为webforms中难以管理的混乱,然后您必须开始剔除自定义控件并且您的团队丢失了。如果您了解网络的运作方式,MVC很容易......虽然您可以随时掌握状态。
答案 6 :(得分:0)
在与MVC斗争了一段时间之后,我不得不说我现在更喜欢MVP(模型 - 视图 - 演示者)架构。使用MVP比使用MVC,IMHO更容易实现关注点分离,解耦和异步,因为每个MVC实现都不会以相同的方式拆分概念,每个控制器都不会处理相同的事情。