程序是怎样编成的——VisualC#2012应用程序开发

程序是怎样编成的——VisualC#2012应用程序开发"

作者:程正权
ISBN:9787302501633
定价:¥49
字数:千字
页数:
出版时间:2018.10.01
开本:
版次:1-2
装帧:
出版社:清华大学出版社
简介

本书阐述Visual Studio 2012环境下应用程序开发的基本技术,围绕Windows窗体应用程序和ASP.NET 网站这两类主流应用程序的设计,通过丰富实用而有趣的案例,由浅入深,从简到繁地引领读者做一次程序设计之旅。旅途中时时向你解析程序设计中布局谋篇的大智慧,历数代码编写时遣词造句的小计谋,使你食而深得其味。书中对经典的基本算法,面向对象核心概念——封装、继承和多态,重要程序设计思想接口、委托和事件,常用控件、ADO.NET对象及ASP.NET内置对象Session、Application等的概念及用法都有与众不同的系统而翔实的介绍。本书还特别在意应用程序的整体架构,详细介绍了在Visual Studio 2012环境下如何把应用程序所需要的各个部分一一构建出来。本书也深入浅出地论及“设计模式”,具体解说了“工厂方法模式”“观察者模式”和“三层架构模式”的设计,实际上也就是“面向对象”程序设计思想高层次的应用。

本书对于学习C#编程的广大本科生和高职学生是一本上佳的学习参考书;对有志于软件开发的读者,更是一本不可多得的启蒙读物。

前言

前    言

  我曾写过多部教材,早就想写一部程序设计教材,因为我有三十多年各类程序设计课程的教学经验,总想一吐为快。开始确实是按教材写的,但写着写着觉得太受束缚,难以在程序设计的思想和方法方面畅所欲言。因此决定改写这样一种课外的教学辅助读物,供学过或正在学习C#语言程序设计的读者把学过的知识融会贯通,把对语言的各种要素及面向对象之各种理念的理解从机械的、被动的状态提升到灵动的、活用的状态。

  根据我的经验,学生中很多人视编程为畏途,毕业后做程序员的为数很少。究其原因,很重要的一点就是在学习期间他们没有学到“味”,没有培养出对程序设计的兴趣。教师通常都鼓励学生多看参考书,但参考书一般也都是一些教材,受篇幅和体系结构的限制,对潜藏在字里行间的玄机常缺乏剖析。因此,我想在教科书之外做一个补充,务求温故知新,激发兴趣;重在面向实际问题,提升应用能力。

  本书有与众不同的地方,就是对标识符的命名没有遵从一般的规范,类名、对象名、变量名、方法名等一般都采用汉字命名。自从计算机语言引进了Unicode字符编码,汉字在程序中就不仅可以用作字符串,也可以用来命名标识符了,为什么不利用这一点来改善程序的易读性呢?因此做此尝试,欢迎批评。

  本书非常重视案例的作用,所有的案例都在Visual Studio 2012(简称VS 2012)下仔细调试通过,可从清华大学出版社网站www.tup.com.cn下载,希望读者通过运行案例加深对基本概念的理解。如果读者能感受到本书中的案例思路清晰,代码简明,和其他书中同样命题的案例相比,略显简单,笔者将感到无限欣慰。

  本书虽然不是教材,但内容紧贴教材,而且是紧贴教材最基本的部分;书中代码虽然是用VS 2012编写的,但所体现的思想和方法,在任一种程序设计环境下也都是适用的,配合教材来阅读会有上佳的效果。

本书中的许多解说源于“自说自话”,可能有失偏颇,也欢迎批评。  

  

                                                 程正权

  2018年2月于合肥学院烟雨斋

目录

目    录

第1章  Visual Studio 2012开发环境和Windows窗体应用程序开发 1

1.1  创建第一个Windows窗体应用程序 1

1.2  最简Windows应用程序项目的文件结构 4

1.3  Visual Studio 2012提供的窗体应用程序架构 8

1.3.1  部分类Form1.cs的扩充 8

1.3.2  将图片文件和Access数据库文件添加到项目中 9

1.3.3  为项目添加新项 10

1.3.4  为解决方案添加新项目 10

1.4  Windows窗体和常用控件 12

1.4.1  空白窗体的常用属性设置 12

1.4.2  窗体控件的常用属性 12

1.4.3  文本框 13

1.4.4  标签 13

1.4.5  按钮 14

1.4.6  其他常用的输入、输出控件 14

第2章  程序设计中的基本算法 16

2.1  穷举法 16

2.1.1  例2-1  百钱买百鸡 16

2.1.2  例2-2  求总和为500的连续正整数 18

2.1.3  例2-3  第k大素数 19

2.1.4  例2-4  最大公约数和最小公倍数 20

2.1.5  例2-5  排列和组合 22

2.1.6  例2-6  最大值 23

2.1.7  例2-7 背包问题 26

2.2  模拟算法 31

2.2.1  例2-8  猴子选大王 31

2.2.2  例2-9  超大正整数的加法 33

2.2.3  例2-10  分解质因数 35

2.3  递推算法 38

2.3.1  例2-11  斐波那契数列 39

2.3.2  例2-12  存款问题 40

2.4  递归算法 42

2.4.1  汉诺塔问题 43

2.4.2  数制转换 46

2.5  回溯法 48

2.5.1  排列问题 48

2.5.2  八皇后问题 51

2.6  分治法 55

2.6.1  快速排序 55

2.6.2  乒乓球比赛日程安排 58

2.7  贪心法 65

2.7.1  概述 65

2.7.2  输油管道铺设问题和最小生成树 66

2.8  动态规划算法 72

2.8.1  例2-13  背包问题 72

2.8.2  例2-14  钢条切割问题 78

2.8.3  例2-15  最大子数组和问题 81

第3章  基本算法之外 84

3.1  十二生肖 84

3.2  列表框和倒计数循环的应用——队员调配 86

3.3  数字螺旋方阵的打印 88

3.4  报数游戏 90

3.5  小写金额换大写 94

3.6  万年历 98

第4章  多个窗体类构成的Windows应用程序 102

4.1  银行储蓄服务 102

4.2  在主窗体前添加一个登录窗体 107

4.3  MDI应用程序——数学小测验 109

第5章  封装、继承和多态 113

5.1  封装 113

5.2  继承的概念及实现 113

5.3  多态 114

5.4  综合实例:平面图形面积的计算 115

5.5  窗体的继承 120

5.5.1  同一项目下的窗体继承——二元运算大观园 120

5.5.2  不同项目下的窗体继承——新编数学小测验 125

第6章  接口——为什么“类”有这么一个孪生兄弟 131

6.1  认识接口 131

6.1.1  接口的定义 131

6.1.2  接口的实现 132

6.1.3  接口的作用 134

6.2  接口的应用 137

6.2.1  典型的契约——系统IComparable接口的应用 137

6.2.2  二元运算——接口多态特性的应用之一 139

6.2.3  面积计算——接口多态特性的应用之二 145

6.2.4  购车咨询平台——接口多态特性的应用之三 147

第7章  委托和事件——程序设计的神来之笔 151

7.1 “委托”的概念是怎样孕育出来的 151

7.2  委托用作方法的参数 152

7.3  多播委托提升了委托的实用性 156

7.4  委托用于窗体之间的数据传递 160

7.5  委托最重要的应用——事件 168

7.6  .NET框架中的事件 178

7.7  观察者模式 186

第8章  访问数据库 191

8.1  ADO.NET简介 191

8.1.1  什么是ADO.NET 191

8.1.2  数据提供程序 191

8.1.3  数据集 192

8.2  在线访问数据库 192

8.2.1  创建Connection对象,建立和数据库的连接 192

8.2.2  创建Command对象,携带并执行SQL命令 193

8.2.3  Command对象如何执行其所携带的SQL命令 193

8.3  离线访问数据库 201

8.3.1  创建Connection对象 201

8.3.2  创建DataAdapter对象 201

8.3.3  创建DataSet对象 201

8.3.4  调用DataAdapter对象的Fill方法 201

8.3.5  控件DataGridView 202

8.4  数据绑定 207

8.4.1  简单数据绑定 208

8.4.2  复杂数据绑定 209

8.4.3  离线访问下数据库的更新 209

8.5  三层架构 219

8.5.1  三层架构的基本概念 219

8.5.2  三层架构例说 220

第9章  ASP.NET 240

9.1  VS 2012环境下的网站 240

9.2  从创建一个ASP.NET空网站起步 241

9.3  网页在浏览器展示过程中的“回传” 247

9.4  具有PostBackUrl属性的标准控件及网页的链接 250

9.5  附带图片和Access数据库的网站 251

9.6  ASP.NET的内置对象 255

9.6.1  Server对象 255

9.6.2  Response对象 257

9.6.3  Request对象 261

9.6.4  Cookie对象 264

9.6.5  Session对象 264

9.6.6  Application对象 281

9.6.7  三层架构的ASP.NET网站 286

9.6.8  学生成绩网上填报系统 293

作者简介

编辑推荐

《程序是怎样编成的——Visual C#2012应用程序开发》通过丰富的实用而有趣的案例,由浅入深,从简到繁地引领读者作一次程序设计之旅。

作者寄语

《程序是怎样编成的——Visual C#2012应用程序开发》通过丰富的实用而有趣的案例,由浅入深,从简到繁地引领读者作一次程序设计之旅。

电子资料

www.luweidong.cn

下一个