第I部分 VB面向对象程序设计
第1章 设计模式概述
1.1 定义设计模式
1.2 学习过程
1.3 学习设计模式
1.4 评论面向对象方法
1.5 VB设计模式
1.6 本书组织
第2章 UML图
2.1 继承
2.2 接口
2.3 组合
2.4 注释
2.5 基于WithClass的UML图
2.6 Visual Basic工程文件
第3章 在VB中使用类和对象
3.1 一个简单的温度换算程序
3.2 构建一个温度类
3.2.1 换算到开氏温标
3.3 在Temperature类作决定
3.4 在类中进行数据的格式化和值转换
3.4.1 处理不合理值
3.5 一个字符串的分割类
3.6 类对象
3.6.1 类包含
3.7 类初始化
3.8 类和属性
3.9 另一个接口示例--伏特计
3.10 一个vbFile类
3.11 Visual Basic程序设计风格
3.12 小结
第4章 面向对象的程序设计
4.1 构建VB对象
4.2 产生一个对象实例
4.3 一个用VB实现的测量程序
4.4 对象中的方法
4.5 变量
4.6 参数传值和传址
4.7 面向对象程序设计中的术语
第5章 创建自己的控件
5.1 一个激活的文本
5.1.1 调整用户控件大小
5.2 测试HiText控件
5.3 在用户控件中增加属性和方法
5.4 编译一个用户控件
5.5 小结
5.6 光盘中的程序
第6章 继承和接口
6.1 接口
6.2 一个投资模拟器
6.3 编写一个模拟器
6.4 用于接口使用的指示器
6.5 重新使用共同的方法
6.6 隐藏接口
6.7 小结
6.8 光盘中的程序
第7章 VB.NET简介
7.1 VB.NET中新的语法
7.1.1 改进的函数语法
7.2 变量声明和作用域
7.2.1 VB.NET中的对象
7.3 编译选择
7.3.1 VB.NET中的数值型变量
7.4 VB6和VB.NET中的属性
7.5 快捷等号语法
7.6 管理语言和垃圾回收
7.7 VB.NET中的类
7.8 构建一个VB7应用
7.9 VB.NET最简单的窗口程序
7.10 继承
7.11 构造函数
7.12 VB.NET中的图画
7.13 工具标签和鼠标移动键
7.14 重载
7.15 继承
7.16 名字空间
7.16.1 从长方形中产生一个正方形
7.17 Public,Private和Protected
7.18 在导出类中重载方法
7.19 重载与隐蔽
7.20 重载窗口控件
7.21 接口
7.22 小结
7.23 光盘中的程序
第8章 VB.NET中的数组、文件和异常
8.1 数组
8.2 集合对象
8.2.1 数组列表
8.2.2 Hashtable
8.2.3 SortedList
8.3 异常
8.4 多重异常
8.5 抛出异常
8.6 文件处理
8.6.1 File对象
8.6.2 读一个文本文件
8.6.3 写一个文本文件
8.7 在文件处理中使用异常
8.8 测试文件结束
8.9 FileInfo类
8.10 vbFile类
8.11 光盘中的程序
第Ⅱ部分 生成模式
第9章 简单工厂模式
9.1 一个简单工厂如何工作
9.2 代码片段
9.3 两个导出类
9.4 构建简单工厂
9.4.1 使用工厂
9.5 用VB.NET编写工厂模式
9.6 使用数学计算的工厂模式
9.7 光盘中的程序
第10章 工厂方法模式
10.1 Swimmer类
10.2 Events类
10.3 直接筛选
10.3.1 交叉筛选
10.4 我们的选拔程序
10.5 其他的类工厂
10.6 用VB7实现的选拔程序
10.7 什么时候使用工厂方法
10.8 光盘上的程序
第11章 抽象工厂模式
11.1 一个花卉工厂
11.2 用户接口如何工作
11.3 用VB7实现一个抽象工厂
11.3.1 PictureBox框
11.3.2 处理单选按钮和按钮事件
11.4 增加更多的类
11.5 抽象工厂评价
11.6 光盘中的程序
第12章 单一类模式
12.1 使用静态方法产生单一类
12.2 捕获错误
12.3 提供单一类的全局访问点
12.4 MSComm控件作为单一类
12.4.1 可用的串口
12.5 用VB.NET实现单一类
12.5.1 使用私有的构造函数
12.5.2 VB7实现的单一类中的错误处理
12.6 一个VB.NET实现的SpoolDemo程序
12.7 全局访问点
12.8 单一类模式其他结论
12.9 光盘上的程序
第13章 构造器模式
13.1 一个投资跟踪程序
13.2 调用构造器
13.3 列表框构造器
13.4 复选框构造器
13.5 用VB.NET实现构造器
13.5.1 股票类工厂
13.5.2 复选框类
13.5.3 列表框类
13.6 在列表框中使用下标集合
13.6.1 最终选择
13.7 小结
13.8 光盘中的程序
第14章 原型模式
14.1 VB6中的克隆
14.2 使用原型
14.3 使用原型模式
14.3.1 在子类中增加方法
14.3.2 具有相同接口的不同类
14.4 原型管理器
14.5 用VB7编写原型
14.6 小结
14.7 光盘中的程序
14.8 生成模式总结
第Ⅲ部分 结构模式
第15章 适配器模式
15.1 在列表中移动数据
15.2 使用MSFlexGrid
15.3 使用TreeView
15.3.1 对象适配器
15.4 在VB7中使用适配器
15.5 VB.NET的TreeView适配器
15.6 采用DataGrid控件
15.7 类适配器
15.8 两路适配器
15.9 在VB.NET中实现对象和类适配器
15.10 可插入的适配器
15.11 在VB中的适配器
15.12 光盘中的程序
第16章 桥模式
16.1 visList类
16.2 类关系图
16.3 桥模式的扩展
16.4 ActiveX 控件作为桥
16.5 用VB.NET实现桥模式
16.5.1 ListBox的visList类
16.5.2 Grid的visList类
16.5.3 导入数据
16.6 改变数据格式
16.7 小结
16.8 光盘中的程序
第17章 组合模式
17.1 一个组合的实现
17.2 计算工资
17.3 员工类
17.4 下标类
17.5 Boss类
17.6 构建员工树
17.7 自提升
17.8 双向链表
17.9 小结
17.10 一个简单组合
17.11 VB中的组合
17.12 VB.NET中的组合
17.12.1 枚举器
17.12.2 Boss构造函数多态
17.13 其他实现条款
17.14 光盘中的程序
第18章 修饰模式
18.1 CoolButton按钮的修饰
18.2 使用Decorator
18.3 将ActiveX控件作为Decorator使用
18.4 VB.NET中的Decorator
18.5 不可见的Decorator
18.6 修饰、适配和组合模式
18.7 小结
18.8 光盘中的程序
第19章 伪模式
19.1 数据库是什么
19.2 从数据库中获得数据
19.3 数据库的种类
19.4 ODBC
19.5 微软的数据库连接策略
19.6 数据库的结构
19.6.1 DBase类
19.7 建立Fa?ade类
19.7.1 Stores类
19.8 建立Stores和Foods表
19.9 建立Price表
19.9.1 建立价格查询
19.10 小结
19.11 在VB6中使用ADO访问数据库
19.11.1 使用ADO连接数据库
19.11.2 在表中添加或查询记录
19.11.3 使用ADO扩展
19.12 ADO中的DBase类
19.13 在VB.NET中访问数据库
19.14 使用ADO.NET
19.14.1 连接数据库
19.14.2 从数据库表中读取数据
19.14.3 执行查询
19.14.4 删除表中的内容
19.15 使用ADO.NET向数据库表中添加记录
19.16 编写VB.NET ADO 伪模式
19.16.1 DBTable类
19.17 为每一个表格创建类
19.18 存储价格
19.19 装载数据库表
19.20 最终的应用程序
19.21 Fa?ade的组成
19.22 小结
19.23 光盘中的程序
第20章 轻量模式
20.1 讨论
20.2 举例
20.2.1 类结构图
20.2.2 选择一个文件夹
20.3 用VB.NET实现轻量模式文件夹
20.4 VB中Flyweight的使用
20.5 可共享对象
20.6 Copy-on-write对象
20.7 光盘中的程序
第21章 代理模式
21.1 示例
21.2 用VB.NET实现代理模式
21.3 VB中的Proxy
21.4 Copy-on-write
21.5 相关模式的比较
21.6 光盘中的程序
21.7 结构模式总结
第Ⅳ部分 行为模式
第22章 响应链
22.1 适用范围
22.2 代码示例
22.3 列表框
22.4 实现帮助系统
22.4.1 获得帮助命令
22.5 链还是树
22.6 用VB.NET实现响应链
22.7 请求的种类
22.8 VB中的示例
22.9 小结
22.10 光盘中的程序
第23章 命令模式
23.1 目的
23.2 命令对象
23.3 建立Command对象
23.4 命令数组
23.5 命令模式小结
23.6 提供撤消
23.7 VB.NET中的命令模式
23.8 CommandHolder接口
23.9 在VB.NET中处理撤消命令
23.10 VB中的命令模式
23.11 光盘中的程序
第24章 解释模式
24.1 目的
24.2 适用范围
24.3 一个简单的报告示例
24.4 解释这种语言
24.5 解析时使用的对象
24.6 减少分析栈
24.7 实现解释模式
24.7.1 语法树
24.8 用VB6实现解释器
24.9 解析对象
24.10 小结
24.11 光盘上的程序
第25章 迭代模式
25.1 目的
25.2 VB6示例代码
25.2.1 使用迭代
25.3 过滤迭代
25.3.1 过滤迭代器
25.4 用VB.NET实现迭代
25.5 小结
25.6 光盘中的程序
第26章 协调模式
26.1 一个示例
26.2 控件间的交互
26.3 代码示例
26.3.1 系统的初始化
26.4 协调和命令对象
26.5 用VB.NET实现协调模式
26.5.1 初始化
26.5.2 处理新控件的事件
26.6 小结
26.7 单接口协调类
26.8 用法的讨论
26.9 光盘中的程序
第27章 记事模式
27.1 目的
27.2 实现
27.3 示例
27.3.1 注意事项
27.4 用户接口中的命令对象
27.5 处理鼠标和画图事件
27.6 用VB.NET编写Memento
27.7 小结
27.8 光盘中的程序
第28章 观察模式
28.1 查看颜色的变化
28.2 用VB.NET实现观察模式
28.3 传递的消息
28.4 小结
28.5 关盘中的程序
第29章 状态模式
29.1 示例代码
29.2 状态间的转换
29.3 Mediator和StateManager之间的交互
29.4 处理Fill状态
29.5 处理撤消列表
29.5.1 用VB6实现填充圆形
29.6 在VB.NET中实现状态模式
29.7 Mediator和God类
29.8 小结
29.9 状态转换
29.10 光盘中的程序
第30章 策略模式
30.1 目的
30.2 示例代码
30.3 Context类
30.4 程序命令
30.5 线形图和柱形图策略
30.6 用VB绘图
30.7 用VB.NET实现策略模式
30.8 小结
30.9 光盘中的程序
第31章 模板方法模式
31.1 目的
31.2 Template类中的方法
31.3 示例
31.3.1 画一个标准的三角形
31.3.2 画一个等腰三角形
31.4 画三角形程序
31.5 模板和回调
31.6 小结
31.7 光盘中的程序
第32章 访问者模式
32.1 目的
32.2 使用访问者模式的时机
32.3 示例
32.4 访问类
32.5 访问多个类
32.6 经理也是员工
32.7 访问者的全部捕获操作
32.8 两次分派
32.9 为什么要这样做
32.10 遍历一系列的类
32.11 在VB6中编写访问者
32.12 小结
32.13 光盘中的程序
参考文献