《ASP.NET 2.0 网站开发技术详解》写作心得

来源:互联网 发布:mac时钟屏保不休眠 编辑:程序博客网 时间:2024/04/30 12:15

《ASP.NET 2.0 网站开发技术详解》终于上市了,这本书从构思到出版经历了一年时间,当然并不是说这一年时间里一直都在写,往往因为项目很忙,一放下就是很长时间。在写这本书的时候我一直在想,我该要写些什么,怎样写才能使这本书不显得多余,因为我觉得这很重要,毕竟市面上关于ASP.NET的书已经很多很多了。我是做ASP.NET开发的,几年来一直在做项目,开始是程序员,自己写代码,后来是当架构师来设计程序,开始的时候是前辈们带我,现在是我带别人。在这些项目开发的过程中曾经遇到过很多问题,然后都一一解决了;也曾经遇到过客户提出过的各种各样的要求,我们也都一一满足了,后来我想在项目开发中遇到过的问题的解决或者客户提出的要求的满足其实应当作为一笔财富留给我们的后来者,让他们能够不一定需要通过实践就能够知道,还有一些开发中的技巧也好能够让他们很快的知道,从而少走一些弯路。于是便有了这本书。

这本书的目标读者群其实很明确,那就是在软件公司的项目中苦苦挣扎的程序员们。这本书并不是一本入门教材,所以它不会讲基本的语法,什么C#语法、ASP.NET语法之类的统统没有,因为如果这些都不懂的话那就根本不可能进入软件公司做ASP.NET开发。这是一本注重实践,完全基于实践的书,这本书只是告诉读者,在项目开发中,其实某个功能可以这样实现,这样实现会比较好(当然可能会有更好的实现方式:-))。没有实际参与公司软件开发的读者可能会对本书不以为然,我自己也认为对于学院派或者初学者来讲,这本书可能没有任何用处,因为在学习和研究的过程中,基本上就不会碰到书中讲到的问题,而如果实际做过项目,就会发现,“是啊,我们项目组在某某项目开发的时候也碰到过这个问题”,那么,我的这本书也就有了用武之地了。

目前中国的软件产业还不够发达,很多中小型软件公司尤其是外包公司的技术实力并不高,大部分都走着低质低价的项目开发路线,在这几年我看到的软件公司中,很多公司的软件开发相当随意,设计、开发和规范化都不尽如人意,开发出来的产品质量也并不高,在我工作的过程中一直都希望能够在我的项目组里改变这种状况。从前是通过培训,但是很累,因为涉及到的东西很多,所以最后我决定写本书,以后我的项目组我肯定会让他们按照我的这本书中写的来做,呵呵。

这本书中讲到的有些内容我想可能是其他ASP.NET图书永远不会讲到的东西,因为出发点不同,因为我感觉那些写书的人比较的学院派。例如如何实现弹出页选择器,这个东西或许永远都不会上某一本ASP.NET教科书式的图书的台面;同样的道理,可能永远也不会有一本图书告诉你如何实现一个到页面或者按钮一级的权限控制,或者告诉你如何开发一个Bug跟踪报告模块。但是实际上我们可能在每一个项目里面都可能会遇到,然后我们可能会在每一个项目里面都有一个独特的设计和实现,至于说每一种设计和实现的优劣如何,可能当做的项目多了,我们会去考虑一下并作为一种模式固化下来,但是如何将它成为项目组或者公司的一笔财富进入到知识库中并成为下一批员工的知识,这就可能只有很少的人考虑到并去做了。而我作为一个工作在第一线的项目经理,我希望通过写一本书的方式来实践,于是我把这些东西全部都加进了这本书里。

ASP.NET 2.0和1.1比起来,有很多观念上的变化甚至是颠覆,如果要想写出比较好的ASP 2.0应用程序,我们就必须要转变自己的观念,从而充分利用ASP 2.0的这些新特性。比如说DataSource这个控件,我们知道它很好用,但是几乎所有的书籍都不会去强调它的Selecting事件的重要性,所以在非常非常多的场景下开发人员还是选择放弃该控件,然后自己写一段后台代码查询出数据然后将其设置为GridView的DataSource的方式,而且还是手动调用查询代码,但是有没有想过这样做实际上多写了多少代码多连接了几次数据库?或许很少有人想过,因为我们在ASP.NET 1.1时就是这样做的,而且也没有哪本介绍ASP.NET 2.0的书在介绍ataSource控件的时候说过只要灵活运用它的Selecting事件就可以用另一种非常简洁的方式来实现相同的功能并且效率更高。

这本书并不是一个系统的讲述ASP.NET 2.0的书,它只介绍我们在项目开发中遇到的内容,ASP.NET是一个非常博大精深的东西,本书只介绍到了其中的冰山一角,更多的东西都需要我们在实际开发中去遇到和解决。俗话说实践出真知,这本书从实践中来,也将终究会被从实践中得到的新的知识所淹没,到那时,这本书就算完成了自己的使命,可以从我们的视野中彻底消失了。很多人都认为中国大陆人自己写的书是垃圾,我没有想过我的书能够不成为垃圾,因为每个人的看法和着眼点是不同的,我想,只要这本书能够解决一部分作项目开发的人的实际问题,这就足够了,当我们遇到的实际问题这本书完全不能解决的时候,那么它就应该变成垃圾扔掉了。我想,我这本书应该是非常有中国特色的一本书吧,因为它和市面上别的ASP.NET的书都不一样,书中所谈到的问题也都是非常有中国特色的,如果是在外国,或许客户就不会提出很多这类刁钻古怪的需求了,呵呵。

在书的光盘里我放上了一些我自己写的公共组件,这些公共组件我在自己做的项目中也用着,只希望这些东西能够对广大的程序员能有一点用,多少提高一些工作效率减少一些代码量。同时我还放上了几个项目的完整源代码,这些源代码我想没有别的用处,只是留给读者们做一个借鉴,其实这些项目做的并不好,但是有一个优势是明显的,那就是这些项目并不是学院派的演示项目,所以它们很贴近我们的日常开发也很有中国特色,呵呵。

对于每一本书都应当以批判的眼光去看待,这本书肯定也不例外。毕竟是第一次写书,写得很不好,一定有很多错误和疏漏之处,不足之处敬请指正。还有这本书也显得太单薄了一些,这是一件非常遗憾的事情,有很多东西肚子里有,可是没到遇到实际问题的时候就想不到,也就没能写出来,真的很不好意思。如果有什么想法或观点,欢迎发电子邮件与我讨论,我的Email是lornshrimp@gmail.com

最后,很感谢机械工业出版社给了我这么个机会,让这本书能够得以面世;同时也非常感谢我的女朋友Sharon,在我写书的那段时间里,她每天都陪我熬夜到凌晨两三点,没有她的支持,或许书上市的时候ASP.NET 2.0都已经淘汰了。

在写这篇心得的时候,我正在写我的第二本书,书名暂定《ASP.NET 3.5快速开发平台技术探秘》,这本书以.NET 3.5为基础,详细介绍如何开发一个可以快速快发应用程序的开发平台,和《ASP.NET 2.0 网站开发技术详解》一样,也是一本非常有特色的书,它以ASP.NET 3.5快速开发平台的设计和开发为主线,介绍了LINQ、ADO.NET、XML、WCF、WWF、ASP.NET、WPF等等技术并将讲述如何将这些技术揉到一起综合运用,并且它同样不是一个学院派的东西,它是一个可以直接投入到项目开发中使用的平台,因此将会很具有实践意义,预计在今年底前会上市,请大家拭目以待。