我是一名ASP.NET程序员(Webforms)。我应该切换到MVC吗?

时间:2009-10-04 21:19:59

标签: asp.net javascript asp.net-mvc

我喜欢控制引擎盖下的内容(MVC方式),但我也很懒,并且不喜欢编写大量的JavaScript GUI。 我应该或不应该切换到MVC? 谢谢, 内斯特

5 个答案:

答案 0 :(得分:8)

这取决于。如果您擅长编写Webforms应用程序,那么您已经掌握了许多ASP.NET服务器控件,并且您的应用程序中不需要很多技巧(读取:代码隐藏),那么Webforms可能是更好的选择

另一方面,如果您喜欢高性能且结构清晰的应用程序,需要对标记进行精确控制,并希望您的应用程序可测试,那么ASP.NET MVC是更好的选择。

有很多易于使用的JQuery小部件可用于ASP.NET MVC,所以你不喜欢Javascript不应该阻止你。但是MVC有一个学习曲线,所以如果你不喜欢学习新东西,我会坚持使用Webforms。

答案 1 :(得分:7)

是的,你应该。 WebForms是一个很大的漏洞抽象,它试图说服你编写Web应用程序就像编写Windows应用程序一样,这是错误的。

管理PostBack是一件痛苦的事。它会在HTML中生成大量垃圾代码。

答案 2 :(得分:2)

ASP.NET MVC绝对值得一提!你将完全控制你的HTML,将学习许多良好的习惯,并将探索梦幻般的jquery世界。

最后试一试......定期学习新东西是件好事。

答案 3 :(得分:1)

如果您正在编写复杂的网站,其中您尝试提供的功能具有经典Windows应用程序的回声,那么我发现WebForms可能是最好的选择。当然,ViewState可以(并且经常)被使用而不考虑后果(大型回发等)。然而,大多数WebForms控件的质量,以及最近添加的ListView控件使其成为一个非常高效的平台。

另一方面,如果您正在与设计团队一起制作网站,而设计团队正在指定要呈现的确切HTML并且实际功能不那么复杂,那么MVC可能会很棒。 MVC还会推动您使用默认情况下更适合可测试性的编码模型。有许多jQuery插件可以提供丰富的UI功能而无需冗长的编码,但是我使用的一些插件存在轻微的质量问题。此外,大多数时候我不需要选择水印或日历控件 - 我只想要一个有效!

总之 - 我认为这取决于您是在撰写网站网站还是网络应用

答案 4 :(得分:0)

您还可以考虑MVP(模型视图展示器)模式:它为您提供与MVC相同的逻辑和表示分离,同时它仍然允许您使用ASP.NET服务器控件。

"Model View Presenter",来自MSDN杂志的文章 来自MSDN上的Web客户端软件工厂文档的Model-View-Presenter Pattern