我想这个问题的核心是:“Asp.Net和MVC之间存在多少共性”?例如,从桌面的角度来看,要么学习Windows窗体,要么学习WPF,而且两者的共同点很少。如果我想成为MVC的大师,是否也值得学习常规的Asp.Net?还是正在走向退休?
答案 0 :(得分:1)
我认为“常规ASP.NET”是指WebForms?由于Web Forms和MVC构建在ASP.NET之上(并共享管道),因此问题转换为Web Forms vs MVC(严重的是已经争论了一百万次),无论工作如何。如果您正在研究单元测试和更多控制,我强烈建议您坚持使用MVC。这并不是说在Web窗体中无法实现单元测试,只是更难。
检查这些链接:
http://blog.gadodia.net/choosing-between-webforms-and-mvc/
答案 1 :(得分:1)
WebForms和MVC共享一个共同的pipleline,然后分歧。最近版本中的WebForms已经获得了MVC中的许多功能,例如路由和模型绑定,但主要区分两者的是服务器控制体系结构,以及WebForms是“基于页面的”而MVC是“控制器”的事实依据”。也就是说,在WebForms中,一切都围绕着页面,而在MVC中,一切都围绕着控制器。
WebForms和MVC都有自己的“管道”,它定义了扩展点和拦截点(事件或可替换组件)。 WebForms比MVC更“事件驱动”,你倾向于订阅管道中的各种事件来完成工作。在某种程度上,WebForms和Windows Forms以及MVC和WPF之间有很强的推论(尽管WPF使用MVVM而不是MVC,它实际上足以使类比工作)。
你可能会发现ASP.NET中90%的开发工作都是WebForms,并且可能会有很多遗留代码,因此学习它可能很重要,除非你根本不这样做想要使用WebForms并且愿意限制自己。
WebForms并非“死亡”或“消失”,并且一直在积极开发。我认为它不会被MVC所取代,但会继续与MVC一起提供,而且这两者可能会在某个阶段实际合并(尽管我认为这将是未来几年,因为WebForms必须改变基本上)。