ASP.NET程序的几种开发方式

Posted 架构师之家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET程序的几种开发方式相关的知识,希望对你有一定的参考价值。

时常见到有人在问:到底选择WebForm还是MVC ?

其实我认为最好是二个都选吧。然后,你去发现它们的优点与缺点,最后,当你觉得它们都不爽时,还是写自己的框架吧。


我来说说我这样选择的理由:任何东西都有它们的优点,这很正常,所以二个都选就能发现更多的优点, 发现优点的过程其实也是自己进步的过程。当然它们也有缺点,发现那些缺点,你自然会想办法去避开, 其实这也是个进步的过程。因此,在你吸收优点以及避开缺点的过程中,会感觉它们不再完美(因为自己在进步), 再到后来,你会怎么选择,我就不知道了,那就是你自己的事了。 而我选择了另一条路:写自己的ASP.NET MVC框架。


在比较各类框架之前,我想有必要先来总结一下:现在能用ASP.NET开发哪些类型的网站? 由于ASP.NET与WCF这类纯服务性质的框架不同,我们主要还是用它来开发一些可与用户交互的界面程序。 因此,今天的分类将重要讨论这些界面(UI)的开发方式。


我认为目前的ASP.NET能支持开发三种类型的网站:

1. 以服务端为中心的网站:所有页面的生成以及交互的逻辑全部服务端来完成,服务端甚至能生成必要的JS代码。

2. 门户类网站:服务端只负责页面的第一次呈现,用户的交互以及表单的提交全部采用AJAX的方式完成。

3. 纯AJAX网站:服务端基本上不参与UI的处理,只负责处理数据,UI在客户端由javascript来生成并控制提交。


【以服务端为中心的网站】,这类网站有个非常明显的特点,至少在开发上表现地非常明显: 服务端要做的事情很多,html的生成, 简单的JS交互,客户端验证,等等,全由服务端来处理。 在开发这类网站时,由于工作全在服务端,因此如果我们使用ASP.NET开发,自然地,所有的任务都将由aspx, C#这类技术来实现, 采用这种方式开发出来的网站,页面与用户的交互性通常不会很友好,比如:提交数据时经常需要整页刷新。


【门户类网站】,这类网站与之前的【以服务端为中心的网站】有个重要的差别:页面只是呈现数据, 表单的提交全采用AJAX方式了。这样做的好处能将显示逻辑与数据更新逻辑有效的分离,不必纠缠在一起(可认为是二个通道), 在这种开发模式下,由于页面只负责数据的显示,因此,只要能将业务逻辑尽可能地与UI分离,项目在维护上会容易很多, 采用这种方式开发的网站,页面与用户交互的友好性会好很多,而且也不会影响SEO,因此被较多的门户网站采用。


【纯AJAX网站】,在这类网站中,服务端由于不参与UI处理,网站可以只是些静态的HTML文件, 而且在设计页面时,只要留下一些占位符就可以了,UI元素全部由JS来生成。 这类网站的客户端通常会选择一个JS的UI框架来支持。这类界面相对于前二种来说,会更漂亮,用户的操作体验也会更友好。 但由于页面主要由JS来生成,对SEO的支持较差,因此,特别适合一些后台类的网站项目。


在前面所列出的三种开发方式中,前二种由于界面部分由服务端来实现, 因此选择一个合适的框架,会对开发工作有着非常重要的影响(尤其是第一种)。 但是,如果选择第三种方式,那么选择 WebForm 还是 MVC 真的都是浮云了,甚至还可以使用其它的服务框架来支持AJAX的调用。


喜欢微软的MVC框架的一些人,通常会列举一些WebForm中较为低级的缺点,从而把ASP.NET MVC框架说的很完美,而且是非它不可。 这里,我不想谈论它们的优点与缺点,因为我前面已经说过了,在我看来,它们都有优点也同时有各自的缺点。 



来源:https://www.cnblogs.com/fish-li/archive/2012/02/12/2348395.html

以上是关于ASP.NET程序的几种开发方式的主要内容,如果未能解决你的问题,请参考以下文章

asp.net MVC前台View页面向后台Controller控制器传递数据的几种方式

ASP.Net中上传文件的几种方法

ASP.NET 页面之间传递值的几种方式

Asp.net 访问数据库的几种方式

列举ASP.NET 页面之间传递值的几种方式?

转ASP.NET MVC系列浅谈ASP.NET 页面之间传值的几种方式