第1章 设计模式入门 1
1.1 设计模式的概念 1
1.1.1 模式分类 2
1.1.2 设计模式与Visual Basic 3
1.1.3 使用设计模式的时机 4
1.1.4 设计模式对设计的改进 5
1.2 构建代码块 9
1.2.1 创建型模式 10
1.2.2 结构型模式 25
1.2.3 行为型模式 52
1.3 设计模式的应用 67
1.4 小结 69
第2章 设计模式在数据层的应用 70
2.1 数据层的需求 71
2.1.1 需求列表 71
2.1.2 数据层的体系结构 73
2.1.3 创建一个灵活的数据访问框架 77
2.2 构建数据层 84
2.2.1 一个UML类图 85
2.2.2 构建输出类 87
2.2.3 构建Factory类 92
2.2.4 编译数据层应用程序 111
2.3 测试数据层应用程序 112
2.3.1 一个简单的Windows测试应用程序 112
2.3.2 一个简单的Web测试应用程序 119
2.4 小结 124
第3章 设计模式在中间层的应用 126
3.1 处理订单 127
3.1.1 业务需求 127
3.1.2 技术需求 128
3.2 分析和设计 128
3.2.1 用例图 129
3.2.2 活动图 130
3.2.3 导向目标模式 132
3.2.4 顺序图 133
3.2.5 类图 135
3.3 编码部分 137
3.3.1 建立基础结构 138
3.3.2 Inventory应用程序 142
3.3.3 测试工具 149
3.3.4 中间层 155
3.3.5 OrderManagement应用程序 192
3.4 小结 195
第4章 表示层中的设计模式 197
4.1 表示层的问题 197
4.2 Model/View/Controller简介 198
4.2.1 在Nutshell中的MVC 198
4.2.2 MVC的性能 199
4.2.3 在MVC中使用的设计模式 201
4.2.4 VB6中的MVC 202
4.2.5 VB.NET中的MVC 208
4.3 构建.NET的MVC框架 212
4.3.1 MVC框架类图表 212
4.3.2 MVC框架代码 231
4.4 Northwind订单处理的前端 237
4.4.1 案例框图 238
4.4.2 活动框图 238
4.5 一个通用的NOP模型 239
4.5.1 NOPData类 240
4.5.2 Orders类 243
4.5.3 Order类 244
4.6 具体视图和控制器 246
4.6.1 销售代表的NOPWin 246
4.6.2 供顾客使用的NOPWeb 261
4.7 小结 279
第5章 设计模式和.NET Remoting的中间层 281
5.1 NET Remoting入门 281
5.1.1 Remoting对象和主机服务器 282
5.1.2 通道和协议 283
5.1.3 客户、代理以及soapsuds.exe实用程序 283
5.1.4 配置文件Default.cfg 283
5.2 一个调用事件协调程序示例 284
5.2.1 系统需求 284
5.2.2 系统中的成员 285
5.2.3 系统的层 286
5.2.4 应用程序的开发阶段 286
5.3 阶段1——基础应用程序 287
5.3.1 收集和分配呼叫 287
5.3.2 构建应用程序 290
5.3.3 运行示例应用程序 302
5.4.1 异步编程模式 305
5.4 阶段2——异步呼叫处理 305
5.4.2 改进应用程序 307
5.4.3 构建并运行示例 310
5.5 阶段3——灵活的策略管理 311
5.5.1 调整应用程序设计 311
5.5.2 改进Representative类库 315
5.5.3 构建客户程序 320
5.5.4 构建并运行示例 324
5.6 小结 325
第6章 下一步要做的事情 327
6.1 重构 327
6.1.1 提取类 328
6.1.2 参数化方法 329
6.2.1 反模式圣经 330
6.2 反模式 330
6.2.2 避免反模式 332
6.3 资源和更多读物 332
附录A UML入门 335
A.1 一个典型的开发过程 336
A.2 用例 338
A.3 类图 345
A.4 活动图 353
A.5 交互(Interaction)图 356
A.6 状态图 359
A.7 物理图 360
A.8 小结 363