但是不管怎样,此时的技术都有一个共同的缺点,就是代码和脚本语言都写在一起,不容易区分,增加了开发和文护。至此,ASP.NET技术的出现基本改变了这些。ASP.NET技术使用完全的面向对象语言,网页与程序分离有利于更好的设计程序,使得代码更简洁、易于编写,不仅提高了重利用性和共享性,还提高了可调度性、可测量性、安全性和可靠性;同时,对不同的浏览器提供了更好的支持。ASP. NET能使开发人员创造出更加动态而且伸缩性更强的应用程序,这种应用程序能够更好地满足公司的商业需求,并提供一个更加丰富的开发环境。在兼容以前设计习惯的基础上采用完全的可视化设计,使windows程序和网站程序的风格区别缩小,使用任何语种都只要遵守.NET规范,都可以使用ASP.NET,使得技术的推广速度相当快。
2.2.2 技术比较
ASP和JSP都是使用的脚本语言混合HTML编程,特别是ASP的脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
1、代码逻辑混乱,难于管理:它使用的是脚本语言混合html编程,所以很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
2、代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
3、弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来会方便一些,但相对于它所造成的出错几率就远远得不偿失的。
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上甚至还远远比不上PHP/JSP,在纠错/调试功能的完善,这点上ASP/PHP/JSP差不多。
下面是ASP和ASP.NET在具体操作编程上有什么不同。在ASP程序中,当需要使用Server对象的Create Object方法来建立一个类实例的时候,首先要声明一个变量fso,之后将变量fso赋予FileSystemObject的对象(FileSystemObject对象可以在Scripting这个库中找到)。如果想要ASP代码得以正常运行,还必须确定相关的DLL文件已经被安装并且注册到服务器。当C#运行库被安装的时候,FileSystemObject对象是会被自动注册的。但是如果想使用第三方开发的组件或者使用自己创建的组件,就需要小心安装并且注册你的组件了。其具体的代码如下:
<Script runat="server" language="VBScript">
Dim fso
Set fso = Server.CreateObject("Scripting.FileSystemObject")
</script>
而在ASP.NET中,在声明一个变量的同时,可以指定它的类型并且初始化这个变量
为了引用一个类,需要使用这样的表示方法:名称空间[.子名称空间].类。即如:
<Script runat="server" language="c#">
Scripting.FileSystemObject fso = new Scripting.FileSystemObject();
</script>
在上面的代码中,引用了FileSystemObject这个类,而FileSystemObject这个类可以在名称空间Scripting中找到。上面的名称空间实际上只是假设的一个名称空间,它并不存在于.NET的架构当中,所以上面的代码实际上是无法运行的。
由此可以看出ASP和ASP.NET技术的区别了。ASP.NET使用的面向对象的语言,而不是一种脚本语言,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.NET上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性极大的提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 基于WEB的内部邮件系统设计与实现(5):http://www.youerw.com/jisuanji/lunwen_8487.html