今天重新看了一遍【cnBlogsGuestBook v1.0】和【cnBlogsGuestBook v2.0】,顺便对两者做一个比较,同时整理一下自己的思路,对asp.net实现留言本功能的演化,有一个大致的认识:.net到底能为我们的应用实现到什么程度?我们到底能用.net做得更好?
<1>cnBlogsGuestBook v1.0
用asp的写法来实现留言本。(可看偶的“菜鸟留言”http://www.cnblogs.com/lovewangshu/archive/2005/03/04/113113.html
菜鸟看点:
1。Response.Write(strResponse)发生在显示html代码之前,也就是说,Page_load()先发生。
2。ADO.net连接数据库的一些基本操作。绑定、显示数据库表的一些方法。
3。Response.Write(strResponse)里strResponse的生成。
4。数据库添加记录的方法:先将表同DataSet绑定,通过向DataSet添加记录,实现表添加记录,当然最后得:myAdapter.Update()一下。
5。" 因为不是Submit按钮,所以不能使页面刷新" 有点不懂。Button按了之后不会引发Page_load()???
这些都应该属于asp.net的一些技巧性的东西。对菜鸟而言,技巧性的东西必须掌握,在能熟练应用的基础上能摸索出内在的规律,理解它的架构,对不明白的地方多查一些资料,多看优秀的源代码,提高自己的水平。
再看一遍V1.0 ,会发现代码中有许多重复的代码,主要是ADO.NET连接数据库方面的,如
在本例中,asp.net访问数据库通过DataSet数据集来实现。DataSet相当于一个下载到本地的离线数据库,通过DataSet实现select,Update,insert,delete,最后通过适配器(DataAdapter)的Update(DataSet)操作,实现离线数据库和Web端数据库的同步。
V1.0 里,在需要数据库操作的地方都重新定义了一个DataSet的实例,因为是对同一个数据库表单的操作,所以出现大量的重复代码。虽然可以对重复代码定义一个返回DataSet的函数,不过毫无OO思想而言,并不是优秀的代码。