《C#Windows应用开发项目教程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:包芳主编;陈东东,周建林,严洪涛副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302441588
  • 页数:276 页
图书介绍:本书重点内容包括:Windows窗体应用程序的设计思路、OOP的基本概念、ADO.NET数据库访问技术、3层体系架构、简单工厂模式等关键基础技术。本书通过一个实际应用项目“学生选课管理系统”的逐步重构和完善过程,介绍利用相关知识实现Windows窗体应用项目的过程。

第一阶段 开发准备 3

任务1 Visual Studio 2013开发环境的安装 3

1.1 情境描述 3

1.2 相关知识 3

1.2.1 Visual Studio 2013的特点 3

1.2.2 .NET框架的组成 3

1.2.3 .NET环境下程序的编译执行过程 4

1.3 安装实施 5

任务2 欢迎窗体 8

2.1 情境描述 8

2.2 相关知识 8

2.2.1 软件分类及其运行机制 8

2.2.2 控件及其属性 9

2.2.3 事件及事件驱动机制 10

2.2.4 控件的事件 10

2.2.5 控件的方法 11

2.2.6 基于事件驱动机制的Windows窗体应用程序设计思路 11

2.2.7 标签、图片和窗体控件 11

2.3 实施与分析 13

2.3.1 欢迎窗体的设计思路 13

2.3.2 欢迎窗体的实现 13

2.3.3 测试与改进 15

2.4 知识拓展 16

2.4.1 引用命名空间 16

2.4.2 程序集和反射 16

任务3 加法运算练习游戏 18

3.1 情境描述 18

3.2 相关知识 19

3.2.1 预定义和自定义类型 19

3.2.2 标识符和命名规范 20

3.2.3 变量和常量 21

3.2.4 值类型和引用类型 22

3.2.5 运算符 23

3.2.6 控制语句 23

3.2.7 文本框和按钮控件 25

3.3 实施与分析 26

3.3.1 加法运算练习游戏的设计思路 26

3.3.2 加法运算练习游戏的实现 27

3.3.3 测试与改进 29

3.4 知识拓展 30

3.4.1 装箱和拆箱 30

3.4.2 字符串和正则表达式 31

任务4 随机抽号游戏 35

4.1 情境描述 35

4.2 相关知识——C#的数组 35

4.3 实施与分析 36

4.3.1 随机抽号游戏的设计思路 36

4.3.2 随机抽号游戏的实现 36

4.3.3 测试与改进 37

4.4 知识拓展 38

4.4.1 窗体的描述 38

4.4.2 分布式类 39

4.4.3 项目中窗体的命名规范 39

任务5 Person类及其对象 41

5.1 情境描述 41

5.2 相关知识 41

5.2.1 OOP概述 41

5.2.2 类的定义 42

5.2.3 类的字段与属性 43

5.2.4 类的方法 45

5.2.5 类的实例化 47

5.2.6 对象的应用 50

5.2.7 组框控件 51

5.3 实施与分析 51

5.3.1 Person类的设计应用思路 51

5.3.2 Person类及其对象应用的实现 51

5.3.3 测试与改进 53

5.3.4 Course类的设计与应用 54

5.4 知识拓展 56

5.4.1 静态成员 56

5.4.2 常量成员 57

5.4.3 方法的重载 57

5.4.4 委托和事件 58

5.4.5 值参数 61

5.4.6 引用参数 62

5.4.7 输出参数 63

5.4.8 参数数组 64

第二阶段 项目开发——原始版本 73

任务6 项目的需求分析 73

6.1 情境描述 73

6.2 相关知识——软件开发流程概述 73

6.3 项目需求概述 74

任务7 项目的总体设计 78

7.1 情境描述 78

7.2 相关知识——应用程序的分层架构 78

7.3 项目总体设计 79

7.4 项目重构过程设计 81

7.5 项目中类的设计和应用 87

任务8 基于两层架构的课程浏览查询模块 89

8.1 情境描述 89

8.2 相关知识 90

8.2.1 ADO.NET概述 90

8.2.2 OIeDbConnection类 91

8.2.3 OIeDbDataAdapter类 93

8.2.4 DataSet类 93

8.2.5 DataGridView控件 93

8.3 实施与分析 94

8.3.1 课程浏览查询的设计思路 94

8.3.2 课程浏览查询的实现 95

8.3.3 测试与改进 97

任务9 基于两层架构的课程添加删除模块 99

9.1 情境描述 99

9.2 相关知识 99

9.2.1 格式化字符串 99

9.2.2 OIeDbCommand类 100

9.2.3 OIeDbDataReader类 102

9.3 实施与分析 103

9.3.1 课程添加的设计思路 103

9.3.2 课程添加的实现 104

9.3.3 课程删除的设计思路 105

9.3.4 测试与改进 105

任务10 数据访问类DBHelper的设计和应用 107

10.1 情境描述 107

10.2 相关知识 107

10.2.1 数据操作类的设计思路 107

10.2.2 连接字符串字段 108

10.2.3 数据操作方法 109

10.3 实施与分析 110

10.3.1 DBHelper数据操作类的设计 110

10.3.2 应用DBHelper数据操作类优化代码 111

10.3.3 测试与改进 113

10.4 相关拓展 113

第三阶段 项目开发——重构过程 125

任务11 向三层架构的转换 125

11.1 情境描述 125

11.2 相关知识 126

11.2.1 三层架构的划分原理 126

11.2.2 对象关系映射ORM 127

11.3 实施与分析 128

11.3.1 向三层架构转换的设计思路 128

11.3.2 向三层架构转换的实现 129

11.3.3 测试与改进 129

任务12 基于三层架构的课程浏览查询重构 132

12.1 情境描述 132

12.2 相关知识——泛型集合 132

12.3 实施与分析 134

12.3.1 课程浏览的三层架构设计思路 134

12.3.2 课程查询的三层架构设计思路 135

12.3.3 课程浏览和查询的实现 136

12.3.4 测试与改进 140

任务13 基于三层架构的课程添加重构 142

13.1 情境描述 142

13.2 课程添加的三层架构设计思路 142

13.2.1 课程添加的数据访问类 142

13.2.2 课程添加的业务逻辑类 143

13.2.3 课程添加的表现层 144

13.3 课程添加的三层架构实现 144

13.3.1 操作步骤 144

13.3.2 DAL层 144

13.3.3 BLL层 145

13.3.4 UI层 145

13.3.5 测试与改进 146

任务14 基于三层架构的课程删除重构 149

14.1 情境描述 149

14.2 相关知识 150

14.2.1 自定义链接列 150

14.2.2 数据网格中行值的获取 150

14.3 课程删除的三层设计思路 151

14.3.1 课程删除的数据访问类 151

14.3.2 课程删除的业务逻辑类 151

14.3.3 课程删除表现层 152

14.4 课程删除的三层架构实现 152

14.4.1 操作步骤 152

14.4.2 DAL层 152

14.4.3 BLL层 152

14.4.4 U I层 153

14.4.5 测试与改进 153

14.5 知识拓展:取单条记录到实体类对象 154

第四阶段 项目开发——最终版本 161

任务15 用户登录模块 161

15.1 情境描述 161

15.2 业务分析 162

15.3 相关知识 164

15.3.1 MDI窗体 164

15.3.2 MenuStrip菜单控件 164

15.3.3 窗体间的跳转 164

15.3.4 RadioButton单选按钮控件 164

15.4 界面制作 165

15.4.1 登录界面及软件首页设置 165

15.4.2 管理员主界面 166

15.5 登录的三层架构设计思路 166

15.5.1 学生登录的三层架构设计 166

15.5.2 管理员登录的三层架构设计 167

15.6 登录的三层架构实现 168

15.6.1 操作步骤 168

15.6.2 DAL层 168

15.6.3 BLL层 169

15.6.4 UI层 169

15.6.5 测试与分析 170

任务16 管理员选课查询模块 172

16.1 情境描述 172

16.2 业务分析 172

16.3 相关知识——下拉列表框控件 174

16.4 选课查询的三层架构设计思路 175

16.5 选课查询的三层实现 176

16.5.1 界面制作 176

16.5.2 操作步骤 176

16.5.3 DAL层 176

16.5.4 BLL层 177

16.5.5 UI层 177

16.5.6 测试与分析 178

任务17 学生选课退选模块 180

17.1 情境描述 180

17.2 业务分析 180

17.2.1 学号传递的分析 181

17.2.2 退选的分析 181

17.2.3 选课的分析 182

17.3 相关知识 183

17.3.1 学号在窗体间的传递 183

17.3.2 异常捕捉 184

17.3.3 数据访问类DBHelper类的重构 185

17.4 选课退选设计思路 187

17.4.1 子功能1:已选总学分的三层架构设计 187

17.4.2 子功能2:已选课程列表的三层架构设计 187

17.4.3 子功能3:退选的三层架构设计 188

17.4.4 子功能4:选课的三层架构设计 189

17.5 选课退选的实现 190

17.5.1 界面设计 190

17.5.2 操作思路 190

17.5.3 配置文件的修改 191

17.5.4 子功能1:已选总学分 191

17.5.5 子功能2:已选课程列表 191

17.5.6 子功能3:退选 192

17.5.7 子功能4:选课 193

17.5.8 测试与分析 195

17.6 知识拓展——应用委托和事务实现已选总学分的实时更新 196

第五阶段 项目的数据库迁移 201

任务18 迁移的分析与设计 201

18.1 情境描述 201

18.2 相关知识 201

18.2.1 OOP再述 201

18.2.2 继承 202

18.2.3 多态的概念 204

18.2.4 方法的隐藏 204

18.2.5 方法的覆盖 205

18.2.6 抽象类 207

18.2.7 接口 209

18.2.8 简单工厂模式 212

18.3 数据库迁移的设计思路 214

任务19 迁移的实现 218

19.1 情境描述 218

19.2 实施与分析 218

19.2.1 设计数据访问类公共接口IDAL 218

19.2.2 重构原Access数据访问类AccessDAL 220

19.2.3 设计新的SQL Server数据访问类SQLServerDAL 220

19.2.4 设计工厂类DALFactory 228

19.2.5 重构业务逻辑层 229

第六阶段 项目的安装部署 235

任务20 安装包的制作 235

20.1 情境描述 235

20.2 相关知识 235

20.2.1 新建安装项目 235

20.2.2 应用程序文件夹 235

20.2.3 用户的“程序”菜单 236

20.2.4 卸载功能 237

20.2.5 用户桌面 238

20.2.6 安装路径 238

20.2.7 .NET框架等系统环境的打包 238

20.2.8 SQL Server数据库的打包 239

20.3 实施与分析 239

20.3.1 生成安装文件夹 239

20.3.2 简单测试 239

任务21 安装包的部署 241

21.1 情境描述 241

21.2 实施与分析 241

21.2.1 安装软件 241

21.2.2 卸载软件 242

21.2.3 简单测试 242

知识梳理 244

参考文献 276