ASP.NET MVC开发人员可以建议哪些有用的东西可以帮助我们ASP.NET WebForms开发人员编写更好的代码/ Web应用程序?
我是一个WebForms人,但是围绕MVC的所有新的宣传我会重视一些关于可能在webforms应用程序中使用的有用提示,技巧和策略的评论。
答案 0 :(得分:16)
我刚才在了解新的MVC框架时发生的事情是,我认为WebForms在很多方面都是对MVC的尝试。标记和代码隐藏包括View和Controller,您可以编写自己的Model。
这个想法与我从学习MVC中获得的重要设计考虑因素密切相关。其中最重要的是巩固整个系统的核心域,并确保所有通用逻辑都定义在该域内可重用的级别。这是你的模型,我喜欢把生活在这个级别的逻辑调用域逻辑(我知道混合术语)。您的模型应该可以在不同的应用程序中重复使用(主要的web / winforms应用程序,winforms用于实用程序和配置的应用程序,后台处理服务,Web服务等)。您的应用程序应该非常特定于其目的:它们包括Presentation Logic(他们的视图)和Application Logic(他们的控制器)。任何跨越需要在其他应用程序中使用的行都可以轻松归类为Domain Logic,并且不应该是任何给定应用程序的应用程序代码的一部分。
我希望这是有道理的。
它的要点是,即使你没有使用纯粹的MVC框架或对象模型或其他任何东西,这种高级别的设计外观也可以很好地应用。隔离可在应用程序之间重用的域层中的通用逻辑,您的应用程序更易于编写,扩展和维护。
答案 1 :(得分:4)
答案 2 :(得分:2)
我建议通过观看微软Learn网站上的截屏视频开始进行测试:
在那里,您将了解WebForms回发模型之间的差异,以及MVC将您的URL直接路由到Actions&方法
第二个主要区别是要记住,在ASP.NET MVC中,您不使用执行回发的控件。它可能感觉更像经典ASP,其中代码在服务器端块内的页面上内联,但它是值得的。您可以完全控制生成的HTML,这对于搜索引擎优化等非常有用。
答案 3 :(得分:1)
一些建议
答案 4 :(得分:0)
我也来自webforms,但自从预览3开始就学习了asp.net MVC。
我不确定如何将MVC中的任何内容带入webforms,它们是两个完全不同的框架。我可能太新了解它如何应用于webforms,但现在看来它们几乎没有共同之处。
MVC的一些优势是它在你需要做什么以及放置代码的位置上的严格结构。它也取消了runat = server的形式,我相信不会促进任何asp.net服务器控件的使用(你需要自己编写所有的HTML)。这就是webforms的定义。 MVC几乎用它自己的框架替换了webforms。
如果您曾经使用过经典ASP或PHP,我会将ASP.net MVC称为一个更加结构化的框架,用于人们可能会使用那些旧的脚本语言。它有点像FuseBox框架,但更加结构化和进化。