《编程的奥秘》配套升级版
《.NET 2.0面向对象程序设计(VB2005篇)》
写作缘由
微软中国公司与电子工业出版社计划出一系列Visual Studio 2005的技术书籍,找着了我负责VB2005一书的写作,除此之外,还有国内知名的作者徐锋写作《ASP.NET 2.0》,赵松涛写作《SQL Server2005》等。
书籍写作构想:
我去年写了一本《编程的奥秘》,选用VB.NET语言和VS2003,书出版以后,收到了很多读者的来信,对这本书予以了充分的肯定,同时也表达了不少中肯的意见,在此,我对这些热心的读者给予衷心的感谢,读者的反馈也激励了我努力写出更高质量的原创技术书籍,帮助更多的人掌握软件开发技术。
虽然我个人认为语言仅是一个工具,但许多读者来信要求我下本书用C#写作。考虑到大家的要求,这本书以VB2005语言为主,但在一些语法关键点上同步介绍C# 2.0,并在附录集中介绍VB2005与C#2.0的语法差异,我希望做到:一个基本功扎实的程序员阅读完这本书后,可以自如地使用VB2005与C# 任何一种语言编程。
虽然微软公司要求我讲清楚VB2005语言,但我打算以VB2005为载体,深入介绍面向对象理论,努力突显出面向对象技术与理论的跨语言特性,在正文中不仅有C#代码,甚至会有Java和C++的特性对比。这部分内容,集中在第二篇中。
除了介绍语言,我还计划对.NET Framework编程的一些高级特性比如多线程,动态代码编译,反射,串行化等作深入的探讨与应用,努力向读者展示.NET 2.0强大而灵活的功能。这也是微软公司要求我们作者做到的。我相信,在了解了.NET这一主流软件开发平台的特性之后,您一定会喜欢上她,并乐意在此平台之上开发自己的软件。呵呵,微软公司看到我给他们做广告,一定高兴。但从客观的软件技术角度来看,我认为.NET的确是一个优秀的软件开发平台,这点是必须承认的。
VS2005 TeamSuite版本在软件工程领域特性方面有很大的增强,在本书中,从软件工程角度,集中介绍了VSTS版本中的代码自动化、单元测试、静态代码分析、程序性能分析等特性,并通过实例展示这些特性如何被用来提升代码的质量。相信这部分对于正在软件开发一线努力工作的程序员们有较大的帮助。
我个人一直强调实践的重要性,因此,在本书中我设计了两个大的实例,一个是经典的四则运算器,其目的是展示数据结构等软件理论在软件开发中的应用,并展示出如何应用面向对象的思想去设计软件,其实是OOD和OOP的实例介绍。此实例目前已开发完成。
另一个大的实例是一个经典游戏,我选择的是人人都喜欢玩的俄罗斯方块,展示.NET2.0和面向对象理论给软件开发所带来的强大推动力。此实例目前正处于设计阶段。
其余的小例子就更多了,这点相信读过我的《奥秘》一书的读者有体会。
这本书的内容与《编程的奥秘》其实是一个深化与互补的关系,唯一相同的可能就是语言介绍部分,但上面也说了,本书的语言介绍是有相当深度的。因此,本书的读者最少应该学过C,并且具备一定的开发经验,比较适合计算机专业研究生和高年级本科生,以及在软件公司的程序员阅读。如果您以前没学过面向对象语言,没有编程经验,请先去看《编程的奥秘》一书,至少看完前四章。补充一下,《奥秘》一书的后半部介绍的内容是具有相当深度的,此书的章节划分具有明显的阶梯性,不能跳着读。而本书各部分地位是平等的,可以跳着读。
下面是本书目录初稿,敬请读者提出宝贵意见。
全书目录
第一篇 认识.NET 2.0与VS2005
第一章 认识.NET
1.1 什么是.NET?
1.2 面向对象的Visual Basic语言
1 结构化编程与面向对象编程
2 OOAD、OOP的基本概念
3 四种基本的面向对象特性: 封装 抽象 继承 多态
第二章 学会使用集成开发环境VS2005
2.1 安装与版本说明:在2005中升级2003的项目
2.2 熟悉帮助文档MSDN及相关网站:学会配置联机帮助
2.3 可以创建的项目类型
2.4 解决方案管理器的使用
2.5 界面设计器与代码编辑器
2.6 理解事件驱动的编程模式
2.7 编译和运行程序
2.8 学会程序调试方法
实例:平方根的简化
即时窗口、设置断点、条件编译
2.9 .NET程序的发布
2.10 总结:RAD环境下编程的基本概念
第二篇 深入把握面向对象理论与技术
第三章 理解类与对象
3.1 从引例开始:介绍类与对象的关系
引例1:单击按钮显示多个窗体
引例2:开发一个实现加减乘除功能的MathOpt类
3.2 编写与使用类
1 类的组成:学会编写方法,属性与字段,列出C语言中的对应的概念
成员的访问级别
设计具有混合访问级别的属性
运算符重载
2 特殊的类:模块
向项目中加入类图
使用类图设计类
3.3 理解对象
1 变量的内存布局
2 Is与IsNot运算符比对对象引用
3 赋值运算符的含义
3.4 类库工程与Assembly
1 类库的使用:Imports语句、命名空间
2 使用VS2005开发类库
Partial类
3 程序集与动态链接库
4 组件化开发:项目依赖与编译顺序
第四章 基于对象的编程
4.1 对象的组合
1 集合的概念
2 访问集合元素的访问
3 .NET 2.0提供的常用集合对象:System.Collection命名空间中的类
数组、堆栈、链表、循环链表、双向链表、队列、树、多叉树、图
4.2 在对象中传送信息
1基本方式:设置属性,调用方法
2 高级方式:使用委托,事件驱动,回调,定时调用
1在程序中添加新窗体
2 多窗体间的相互访问
3窗体上控件的动态创建
4.3 对象的保存与重建
第四章 继承,接口与多态
4.1 继承的概念
4.2 抽象基类与接口
4.3 理解多态
第五章 异常处理
5.1 异常处理的概念:为什么要使用异常处理?
5.2 编程实现异常处理
5.3 .NET 2.0公共语言运行库的结构化异常处理原理:编写高容错程序三原则
第六章 范型编程
6.1 四种编程范式介绍:结构化,基于对象,面向对象,范型
6.2 使用范型的好处
1 减少类的数目
2 初步剖离数据结构与算法
3 提升程序运行效率
4 减少编码错误:可以在编译时检查类型,可以使用IDE的下拉列表
6.3 范型的使用与开发
第七章 经典面向对象编程实例分析:四则运算器
7.1 概述: 四则运算器特性分析
7.1 理论的威力:建立数学模型
7.2 软件体系结构设计
7.3 迭代开发过程
第三篇 基于.NET Framework 2.0开发
第八章 使用My名字空间
第九章 事件驱动与异步编程
9.1 委托
1在多窗体编程中使用委托
2 使用多路广播委托
9.2 异步编程
9.3 事件驱动
自定义事件:Customize与Event关键字
在多窗体编程中使用事件
定时操作
第十章 进程与线程
10.1 理解概念:进程与线程,应用程序域
用实例说明多线程切换与多进程切换在完成同一任务上的差别
设计多层分布式实例,通过中间层组件模拟实现多进程访问共享资源。
10.2 使用进程
剪贴板
使用共享资源
10.3 使用线程
1.线程状态与死锁
2.等待另一个线程的完成
3.访问共享资源
4..NET 2.0中用于实现线程同步的类:
Interlocked、Monitor、Mutex ReaderWriterLock、BackgroundWorker
1 集合的线程安全
2 多线程中的可视化控件:启动窗体问题
第十一章 GDI+技术及其应用
11.1 GDI+概论与计算机绘图原理
11.2 GDI+基础
绘图表面:Graphics对象
绘制基本形状
图形重绘原理:Paint事件的深入介绍
11.3 GDI+应用
直角坐标系
极坐标系
11.4 开发经典游戏——俄罗斯方块
第十二章 .NET Framework深度应用
12.1 开发软插件系统
12.2 简易集成软件开发环境的开发
动态代码生成与编译
12.3 数据处理
数据的压缩、加密和解密
第四篇 使用VS2005软件工程特性提升开发效率
第十三章 单元测试
13.1 软件测试概论
13.2 使用VS2005进行单元测试
13.3 分析.NET Framework单元测试框架的设计模式
13.4 在软件开发中应用单元测试:测试驱动的开发方法
第十四章 写出高质量的代码
14.1 VS2005的代码自动化开发特性
14.2 静态代码分析:Code Analyze
14.3 程序性能分析
1 两种不同的性能分析方法
Sampling
Instrmentation
2 理解VS2005程序性能分析指标
VS2005程序性能分析器的各个视图
3 实例演示:在RichTextBox中给长文本加上行号
瓶颈在哪里?
修正代码,对比前后效果
小结:如何编写更快的代码
结束语:走向软件开发的新天地
附录
VB2005与C#简明语法对应手册
参考文献
缩略语
中英术语翻译对照表
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=791909