对ASP.NET的一些理解[转载]
最近一直在做这个工作,所以渐渐的对这个东东有了一定的认识,总体来讲,ASP.NET是在.NET环境中对ASP3.0的补充和完善,虽然我看到有许多人在网上说不是这样,但我还是觉得有太多的东西是一样的。当然,我说的这些都是在WEB环境这个层面上来说的,例如,ASP.NET是使用局部缓存技术,而且还使用了viewstate,但在我看来,完全可以在ASP3.0中模拟这个操作。我现在就指导我的一个新同事做这样的一个工作,很明显,使用这个思路,不一定非要用ASP.NET来做,只要自己用hidden元素,一样可以实现。当然,你可以说这很容易,但我觉得,如果你要把ASP.NET中的一些概念都弄明白,有ASP3.0的基础无疑是有非常大的帮助。幸运的是我做过3年的ASP3.0。呵呵,另外,使用C#这个火热的语言,是要做大量前期准备的,不然编程工作会遇到许多困难,例如,C#本身非常象Java,这一点就说明如果学过甚至用过Java的朋友可以说是找到了一个可以替代Java的语言,但对于没有Java经历的朋友,这个问题依然存在。类和对象的概念也很重要,能够深刻理解这两个概念可以大大减少编写代码的数量,可以大大提高代码的结构性和可维护性,以及重用性。说到重用,我想到了一个我自己的亲身经历,那就是当我定义了一个全局的公用类来作为容器包含所有公用函数的时候,当然这很象是在模拟VB6里面的模块。然后,我在后面的编程过程中发现,我需要对原来的函处做一些更改,这时候,我只需要做一个重载reload,出来就可以了,这样不断原来已经编好的代码不需要更改任何一个字,新的函数特性依然可以使用。我现在已经在使用的公用类,我称其为模块类,已经有3000多行的代码,而调用这些函数的aspx页的cs文件里,大约每个事件里只有一行到两行左右的代码。大大提高了编程的重用性,同时提高了效率,使自己的代码更容易被读懂。另外,对于DataGrid这个控件,我想多说两句,这个控件可以说是ASP.NET最复杂的一个控件了,同时也是最常被使用到的强大控件,这也难怪它在网上有专栏在讨论它。我个人认为它是个非常强大的便于使用的控件,但如果想自定义它,我觉得还是比较复杂,复杂的地方不是自定义控件的编写,而是,如果你自己定义了一个自定义控件,然后继承于DataGrid,那你将从此丧失VS.NET对这个控件的可视化管理。这是最让我无法接受的事实,所以,对于刚刚接触ASP.NET的我来说,在实际工作中,还是没有花时间去自定义个DataGrid出来。希望以后有机会去做这件事情。
另外再说一句,WEB开发并不是我情愿做的,它很离散,我更钟情于C++级别的东西,至少是C#的Windows应用程序的开发,只是目前不希望在客户端安装软件就能使用的需求越来越多,才使ASP.NET以及jsp这样的技术大行其道,个人认为,分布式的开发是未来的方向,我今后也将向这个方向发展自己的.NET学习进程。