《编程的奥秘 .NET软件技术学习与实践》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:金旭亮著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2006
  • ISBN:7121018209
  • 页数:584 页
图书介绍:本书主要介绍.NET下开发运行于个人电脑上的应用程序所需的全部技术基础,汇集了从实践中总结出来的大量编程技巧与经验之谈,体现了作者对程序设计这一人类智力密集型活动的观点与看法,并力图为读者勾画出一个实用的软件开发学习全景,为读者进一步深入地自学相关的软件专业课程(比如《数据库原理》,《数据结构》,《操作系统》等)打下良好的实践基础。对于初学者,可以使用此书作为第一本进入软件开发世界的入门书,一步到位,直接学习主流的面向对象软件技术;对于在校的大学生,学习本书则有助于了解许多计算机专业课的理论是如何用应用在软件开发中的,了解软件的真实面貌,避免学习上的盲目性;对于已有一定编程经验的程序员,可以帮助其迅速地进入.NET技术领域,结合已有技能,开发出具有专业水准的应用软件。

第1篇 初识 1

第1章 初识.NET 2

1.1 什么是.NET 2

1.1.1 .NET与传统Windows的不同 2

1.1.2 从.NET看软件技术的发展趋势 3

1.2 搭建.NET运行平台 6

1.3 使用命令行编译VB.NET程序 12

1.4 第一个可视化的.NET程序 16

1.5 .NET程序运行原理 24

1.5.1 理解机器指令 24

1.5.2 程序与编译器 25

1.5.3 .NET程序运行原理 25

1.5.4 发布.NET程序 27

第2章 .NET程序设计基础 30

2.1 使用VS.NET设计用户界面 30

2.1.1 窗体的使用 31

2.1.2 常见控件使用 41

2.1.3 界面布局 52

2.1.4 绘制图标 54

2.2 VB.NET语法基础 56

2.2.1 基本数据类型 56

2.2.2 语句与控制结构 63

2.2.3 对象与类 72

2.2.4 变量的类型 84

2.2.5 函数与方法重载 89

2.2.6 字符串使用 91

2.2.7 递归 93

2.2.8 .NET中的集合 96

2.2.9 VB.NET开发实践:多窗体编程 99

2.3 克隆Word——MyEditor程序分析 103

2.3.1 主窗体frmEditor界面设计 104

2.3.2 结束程序运行 104

2.3.3 打开文件功能的实现 104

2.3.4 编辑功能的实现 108

2.3.5 查找功能的实现 113

2.4 编译项目 119

2.4.1 Debug与Release版本 119

2.4.2 设置EXE文件图标 120

2.4.3 MyEditor程序分析小结 120

第2篇 入门 121

第3章 面向对象的程序设计语言 122

3.1 .NET语言族 122

3.2 类的创建与销毁过程 123

3.2.1 类的创建与构造函数 123

3.2.2 类的销毁与垃圾收集 126

3.3 ByRef与ByVal 126

3.3.1 简单类型参数的传送 126

3.3.2 引用类型参数的传送 128

3.4 面向对象特性 130

3.4.1 继承 130

3.4.2 多态 137

3.4.3 函数模板——委托 140

3.4.4 事件 142

3.5 异常处理 144

3.5.1 程序的健壮性 144

3.5.2 使用异常处理保证程序的健壮性 145

3.5.3 异常的捕获 145

3.6 面向对象编程实战 146

3.6.1 什么是应用程序向导 146

3.6.2 设计一个向导程序框架 147

3.6.3 向导框架代码分析 148

3.6.4 小结 153

第4章 Windows Form程序设计 154

4.1 组件开发与使用基础 154

4.1.1 可视化组件与非可视化组件 154

4.1.2 使用第三方控件 155

4.1.3 容器控件 156

4.1.4 移动焦点 159

4.2.1 窗体级验证与字段级验证 161

4.2 数据验证 161

4.2.2 正则表达式 164

4.3 读取按键 167

4.3.1 KeyPress事件 167

4.3.2 KeyDown和KeyUp事件 167

4.3.3 窗体的KeyPreview属性 168

4.4 鼠标操作 168

4.4.1 区分鼠标按键 168

4.4.2 检测鼠标滚轮 169

4.4.3 设置等待光标 169

4.4.4 自定义鼠标光标 170

4.5 流 171

4.5.1 使用MemoryStream 172

4.5.2 使用FileStream 173

4.5.3 操作流对象 175

4.6.2 剪贴板编程原理 178

4.6.1 使用剪贴板 178

4.6 剪贴板原理 178

4.6.3 剪贴板编程实例 180

4.7 综合实例:开发资源管理器 183

4.7.1 软件总体构想 184

4.7.2 文件操作 184

4.7.3 文件夹操作 186

4.7.4 TreeView使用 189

4.7.5 ListView使用 193

4.7.6 软件体系结构设计 195

第3篇 深入 209

第5章 .NET数据库编程概览 210

5.1 数据库编程技术基础 210

5.1.1 数据库的基本概念 211

5.1.2 SQL简介 212

5.1.3 关系数据库的三种操作 212

5.2.1 用户界面设计 214

5.2.2 开始编码 214

5.2 使用.NET开发数据库应用程序 214

第6章 SQL入门 221

6.1 搭建SQL运行平台 221

6.2 SQL语句的编写 222

6.2.1 选择数据 222

6.2.2 排序 226

6.2.3 聚集函数 227

6.2.4 分组 228

6.2.5 其他数据操作 229

6.3 SQL命令使用技巧 232

6.3.1 计算数学表达式 232

6.3.2 在返回结果中增加不属于任何一个表的列 233

6.3.3 嵌套子查询 233

6.3.4 流程控制 234

第7章 编程访问数据库 236

7.1 使用ADO.NET表示数据库模型 236

7.1.1 ADO.NET对象模型 236

7.1.2 动态创建数据库 237

7.1.3 使用DataRelation对象表达数据间的关系 239

7.2 连接数据库 244

7.2.1 四种Connection对象 244

7.2.2 连接数据库的基本步骤 244

7.3 向数据库发送SQL命令 246

7.3.1 Command对象的创建 246

7.3.2 执行无返回行的SQL命令 247

7.3.3 进行单值查询 247

7.3.4 使用带参数的SQL命令 248

7.3.5 调用存储过程 249

7.4 获取数据 252

7.4.1 填充数据 252

7.4.2 获取数据库架构信息 254

7.5 显示数据 256

7.5.1 使用DataGrid显示数据 256

7.5.2 在数据集中移动 263

7.6 编辑数据 270

7.6.1 增加数据 270

7.6.2 删除数据 273

7.6.3 修改数据 274

7.7 保存数据到数据库 275

7.7.1 数据更新原理 275

7.7.2 手动更新数据库 278

7.7.3 使用DataAdapter更新数据库 282

7.7.4 处理更新失败 283

7.8 查找与过滤数据 284

7.8.1 在DataTable中查找 285

7.8.2 使用DataView筛选数据 285

7.9 统计与分析 289

7.9.1 计算列 290

7.9.2 Compute方法 292

第8章 数据库编程技巧与实例分析 294

8.1 开发可复用的数据存取类 294

8.1.1 设计数据访问类 294

8.1.2 访问存储过程 298

8.1.3 使用BLOB字段 301

8.1.4 获取数据库元信息 304

8.2 开发客户信息管理系统 305

8.2.1 功能简介 306

8.2.2 开发过程 307

8.2.3 养成良好的编程习惯 320

第9章 使用XML处理数据 322

9.1 XML基础知识 322

9.1.1 什么是XML 322

9.1.2 用XML表达数据 323

9.2 在.NET中处理XML数据 326

9.2.1 使用DOM处理XML数据 326

9.2.2 在程序使用DOM处理XML数据 329

9.2.3 基于流机制来处理XML数据 342

9.2.4 ADO.NET与XML 348

第10章 计算机绘图原理及其应用 357

10.1 计算机绘图原理 357

10.1.1 在计算机中处理图形图像 357

10.1.2 使用GDI+绘图 359

10.1.3 绘图对象 367

10.1.4 坐标变换 384

10.1.5 绘制数学图案 387

10.1.6 处理图像 397

10.2 综合示例:GDIClock程序分析 402

10.2.1 怎样阅读别人写的程序代码 403

10.2.2 程序架构 404

10.2.3 实现程序的开机自动运行 405

10.2.4 实现程序退出时保存设置 408

10.2.5 创建图形菜单 409

10.2.6 绘制时钟 410

10.2.7 实现闹钟 416

10.2.8 提升系统性能 417

10.2.9 小结 419

10.3 设计打印系统 419

10.3.1 计算机打印原理 419

10.3.2 控制打印 432

10.3.3 打印系统开发实例——邮签打印 436

第4篇 精通 445

第11章 面向对象软件编程基础 446

11.1 对软件的再认识 446

11.1.1 理解软件的概念 446

11.1.2 软件开发是一项系统工程 446

11.1.3 软件开发的7种武器 448

11.2 面向对象编程概述 449

11.2.1 掌握编程的基本原则 451

11.2.2 掌握编程的基本方法 456

11.2.3 面向对象编程实例分析 459

11.3 现代面向对象技术的基石之一:动态链接技术 464

11.3.1 动态链接技术的由来 464

11.3.2 Windows动态链接技术的概貌 465

11.3.3 .NET下动态链接技术的发展 469

11.4 UML使用入门 471

11.4.1 UML简介 472

11.4.2 使用UML类图 475

11.4.3 使用UML包图 482

11.4.4 使用用例图描述系统功能 483

11.4.5 使用UML描述系统静态结构 483

11.4.6 使用UML描述系统动态特性 484

11.4.7 在软件开发中使用UML 486

第12章 基于组件的软件开发 488

12.1 CBD导论 488

12.1.1 什么是CBD 488

12.1.2 在软件开发中采用CBD的必要性 489

12.1.3 组件化开发基础 490

12.2 开发自定义.NET组件实例 495

12.2.1 AutoComplete的含义 495

12.2.2 设计AutoComplete文本框初步开发方案 496

12.2.3 实现AutoComplete功能 496

12.2.4 对程序进行重构 498

12.2.6 定义自己的控件 499

12.2.5 组件化迈出第一步 499

12.2.7 优化性能 501

12.2.8 封装多线程功能到自定义控件中 504

12.2.9 小结 504

12.3 混合语言开发 505

12.3.1 组合多种语言开发的组件 505

12.3.2 混合语言组件的继承 508

12.3.3 混合语言组件间的多态调用 509

12.4 动态组件插拔 512

12.3.4 小结 512

12.4.1 设计示例用到的组件 514

12.4.2 读取XML配置文件 514

12.4.3 动态创建对象 516

12.4.4 在主程序中动态装载组件 517

12.4.5 小结 518

第13章 面向对象软件开发实践 520

13.1 系统分析与设计 520

13.1.1 缘起 520

13.1.2 确定系统功能 521

13.1.3 技术方案构想 522

13.1.4 体系结构设计 526

13.2 开发自定义树控件SuperTreeView 529

13.2.1 创建自定义控件项目 529

13.2.2 补习面向对象理论 530

13.2.3 实现树的基本操作功能 531

13.2.4 在树中查找节点 536

13.2.5 小结 538

13.3 开发SuperRichTextBox控件 538

13.3.1 设计封装方案 539

13.3.2 应用平台调用技术 541

13.3.3 支持拖动编辑 544

13.3.4 插入行号 548

13.3.5 使用自定义控件“包”起一切 554

13.4 用组件装配系统 557

13.4.1 设计用户界面 557

13.4.2 处理树节点点击事件 559

13.4.3 实现所见即所得的编辑 560

13.4.4 支持键盘操作 561

13.4.5 数据的备份与恢复 562

13.4.6 压缩数据库 564

13.4.7 设置系统参数 565

13.4.8 实现历史记录 568

13.4.9 解决节点移动带来的画面闪烁问题 571

13.5.1 编写软件测试报告 572

13.5 测试排错 572

13.5.2 排除“节点无法删除”的错误 573

13.5.3 排除节点定位算法引发的数据丢失错误 574

13.5.4 排除事件激发次序引发的数据丢失错误 575

13.5.5 进一步改进PersonalInfo 579

附录A 常见Windows控件中英文名术语对照表 580

附录B 本书缩略语对照表 581

参考文献 582

后记 583