 |
建站必读 |
 |
|
|
 |
|
 |
|
| |
| 当前位置:首页 -> 建站必读 -> ASP技术 |
|
面向对象的ASP技术:思考与实践 |
目录:
概述
历史
先进的技术与好用的技术:
ASP到了尽头吗?
组件化的Web程序
一个实例
小技巧
结束语
概述
本文简要描述了Web开发的历史,并主要对JSP, ASP, 以及ASP.NET进行了比较。最后,较为详细的提出了一种概念模型并做出了简单的实现。这种模型将使得ASP这种简单易用的技术上升一个高度,成为中小企业或者中小项目开发的较好选择。本文适合ASP的中高级开发者。
历史
如今的Web应用程序越来越流行,基于B/S结构的软件也日渐增多。这也不难想象,正如Sun公司总裁Scott所说,“计算机就是网络”,随着互联网技术的发展,知识在世界范围内得到充分的传播。从90年代很原始静态HTML页面(现在还能在旧书摊看到讲解HTML3.2的书,配上16位的Internet Explorer或者Netscape Navigator插图,那时候的网页美观水平跟现在已经不能相提并论了),到复杂而缺乏定制***的CGI,然后是WindowNT的兴起,出现一种叫IDC,IDA, IDQ的东西(当然,现在那些东西已经不存在了,只是作者当年还兴致勃勃的研究过他们,但是现在什么也记不住了),然后就是基于VBScript的ASP2.0。这是后,Java逐渐侵入Internet编程领域,Servlet、JSP也出现了。其他的,如PHP, Perl, 等,到现在微软大行其道的以ASP.NET为核心的.Net技术,如今的Web开发领域可谓百花齐放,各有千秋。
技术出现了这么多,无论是ASP、JSP还是PHP等,在出现的早期,他们的编程模型不外乎是下面的模式:客户机向服务器提交一个HTTP/GET或者HTTP/POST请求,服务器得到这个请求后,要么请求数据库,将结果响应给客户端,要么直接响应一个结果给客户端。也就是简单的“请求-响应”模型。这种模型的唯一的一个优点就是简单。随着大型的Web应用的出现,这种模型很快出现不足。例如,无法实现代码的重用(在Web开发中,出现冗余代码似乎是难以避免的事),很多页面具有相似的功能与相似的代码,在需求改变的时候,代码的更改显得如此的不便,以至于让人很恼火。无法实现复杂的业务逻辑,简单的结构决定了这种模型无法胜任复杂的逻辑。等等,诸如此类的问题,使得Web开发的前辈们开始考虑更为有效的模式。
这时候值得一提的是JSP Model2, 也就是SmallTalk语言中一种很常见的模式:Model-View-Controller。有关这种模式的有相关的专业文章介绍,这里就不再赘述。总而言之,这种模式的出现改变了大多数Web开发人员的观念,使他们以一种软件结构的高度上来考虑B/S软件,而不是原来的“流式开发”。实现了MVC模式的Apache Struts,一时成为开发人员了与学习和接受的一种新的技术。(有关JSP与Servlet,请看我翻译的另外一篇文章:《Servlet与JSP, 最佳实践》)
ASP.NET的推出可以说是又是一个进步。Code-Behind技术与页面回调等,姑且不论其效率如何,单单从这些技术本身而言,又将我们的Web开发观念提高了一个层次。服务器HTML组件可以直接与C#代码交互,而且如此的自然,不得不佩服微软的结构设计了。
现在我们来谈一谈这篇文章的主题:ASP。
先进的技术与好用的技术
目前在Web开发领域,几乎没有人看好ASP。CSDN上总有人在抱怨ASP开发者的薪水太少。而且ASP确实存在这样和那样的问题,最大的问题莫过于它是非编译的脚本,所有的脚本都是通过解释执行,这让他的效率大打折扣。另外,它的弱类型变量定义降低学习的难度与他的效率。种种的问题显示,放弃ASP吧,不要在追寻一个落魄的技术了。
然而,我想没有一个有经验的Web开发者会说,ASP不好用,ASP不好学。现在的ASP高手很多,然而JSP,ASP.NET的高手却很难培养。在CSDN的JSP版上,问“怎么配置JSP运行环境”一类的问题不在少数,另外一些例如“字符编码”、“数据库连接”等在ASP种基本不用考虑问题在JSP中确实屡见不鲜。这里我无意比较ASP与JSP,我也不敢攻击JSP或者说JSP的坏话。从纯粹的技术的角度,我认为,在易用***上,ASP要稍胜一筹,而且在中小型项目的把握上,抛开个人或者技术界的虚荣心,ASP要比JSP把握大。如果读者是一位有多年经验并且熟知ASP与JSP的话,应该不至于反对我的观点。
然而,JSP的优点比比皆是。从软件结构的高度来看,它太优秀了。拥有JavaBean技术与扩展标记库技术,使得JSP的概念已经远远超过了它本身。组件化容易,高效率,扩展方便,容易实现多层结构,等等。
从现在Web开发领域的走势(或者说整个软件的走势)来说,组件化的思想越来越重要了。现在的问题是,基本的ASP功能很明显是无法满足现在日益复杂的需求,如何在ASP中实现组件思想呢?
关于组件我们能够想到最直接的办法就是使用VisualBasic或者VisualC++或者任何一种其他的Windows环境下的编程工具。然后,几乎所有人都会说:VC开发组件是效率最高的,但是很慢;VB开发式最快的,效率也不错。的确,VB具备简单通用,支持COM, COM+,等优点,而且开发速度快,调试方便。这样,VB就成为开发ASP组件的首选。另外一个不得不提的东西就是XML。使用XML的好 |
| |
|
| |
本站关键词: |
|
|
|
|
 |
|
 |
|