前 言
Visual C# 2005是Microsoft公司开发的最新一代编程语言包,由于其内嵌在.NET Framework中,所以程序员在用其开发应用程序时,一方面能方便地使用.NET Framework中的ADO.NET组件,高效快捷地开发基于数据库访问的应用代码,另一方面能利用其“显示逻辑同业务逻辑分离”的良好编程特性,从架构的层次上,分离窗体类的代码和业务功能类的代码,从而提高所开发项目的可维护性和可重用性(即可移植性)。
另外,从软件工程的角度来讲,由于在开发新项目时,要尽可能地重用现有的功能模块,所以在开发具有各功能的业务模块时,要尽量把其设计并构造成一个通用的组件。并且,由于应用项目会时常面临需求变更以及功能维护的工作,所以,在编写应用项目的代码前,有必要在分析其潜在变更点的前提下,合理地设计项目的架构以及功能模块的布局,为项目提供架构层次的维护和扩展空间。
本书在合理利用Visual C# 2005编程语言的优势基础上,以数据库应用技术为主线,以面向对象和设计模式等优秀设计理念为指导,综合分析C#数据库应用方面的知识和实例。本书共分为13章,各章内容如下:
第1章主要介绍了面向对象思想的各要素,以及如何根据面向对象思想设计C#的数据库访问模块的架构。
第2章围绕ADO.NET中的两种数据提供者(Data Provider),在详细介绍其中Connection、Command、DataAdapter、DataReader和DataSet类的基础上,综合讲述基于DataGrid控件的ADO.NET综合应用技术。
第3章在ADO.NET组件的基础上,除了讲述XML和存储过程等数据库高级应用技术外,还结合数据库应用代码,给出能指导项目设计的设计模式原则。特别是DAO模式更能提高代码可移植性和重用性。
第4~9章详细介绍基于数据库应用的通用功能模块。其中,第4章介绍了用户登录模块,第5章介绍了邮件发送管理模块,第6章介绍了生成水晶报表和Excel报表模块,第7章介绍了基于Windows和Web的两种版本的图片管理模块,第8章介绍了在线投票模块,第9章介绍了信息发布和管理模块。请读者们注意这些模块中的数据库访问代码。在第4章是直接把ADO.NET写在业务逻辑里,经不断改进,在第9章则是根据DAO原则设计通用的数据库访问模块,读者能从这个过程中体验到设计模式给项目开发带来的便利。
第10章和第11章分别讲述了Blog和在线购物系统这两个综合应用项目,其中不仅包含了面向ADO.NET的数据库应用,而且重用了前文给出的各功能模块。
第12章以一个基于Windows的项目为例,讲述C#项目的打包、发布和安装的详细步骤。
第13章模拟客户对在线购物系统提出的“数据库迁移”、“功能升级”和“模块维护”等要求,根据“代码重用”和“架构维护”等原则,通过实例讲述代码升级、数据库迁移及项目维护的实施理念和步骤。
本书不仅注重模块的通用性和代码的实践性,更着重分析了根据面向对象思想和设计模式,来优化模块的设计和提高代码质量的目的、思考方式与实现步骤。本书的读者对象可以是具有Visual C#编程经验的软件开发人员,也可以是高等院校的师生。特别对高等院校计算机及相关专业的学生进行毕业设计具有一定的参考价值。此外,本书也可以作为广大计算机编程爱好者的自学和参考用书。
本书由吴晨、胡书敏和蔡威执笔,在编写本书文稿和代码的过程中,得到了大连理工大学孟宪福先生的大力支持和指导,在此表示衷心的感谢。此外,还要感谢上海师范大学的梅晓东同学和上海畅想电脑有限公司的奚亦扬先生,他们参与了校对本书全部文稿和代码的工作。再者,蒋忠、沈学兵、韩建国、杨树平、孔凡、曹丽、严明志、华剑、朱伯芳、秦智育、尤鲲、许杨道、赵小燕、钱云、孙志新等同志在本书的编写过程中也做了大量工作,在此也表示感谢。
由于时间仓促,加之作者水平有限,书中不足之处在所难免,敬请读者批评指正。
编 者
2007年3月
