.NET与设计模式PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:甄镭编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2005
- ISBN:7121010976
- 页数:496 页
第1篇 设计模式与面向对象设计 1
1.1 模式的定义 3
第1章 理解设计模式 3
1.3 理解设计模式的名称 5
1.2 GOF的设计模式与模式 5
1.3.5 适配器与适配器模式 6
1.3.4 状态与状态模式 6
1.3.1 工厂与工厂方法 6
1.3.2 生成器与生成器模式 6
1.3.3 桥接与桥接模式 6
1.4 理解设计模式的场景 7
1.3.7 代理和代理模式 7
1.3.6 装饰器和装饰器模式 7
1.6.2 更复杂的装配关系 9
1.6.1 对象过多 9
1.5 理解设计模式中的作用力 9
1.6 理解设计模式的结果和代价 9
1.7.2 不能提高开发速度或者形象开发速度 10
1.7.1 设计模式不是法则 10
1.6.3 测试难度加大 10
1.6.4 程序结构复杂 10
1.7 设计模式不能做什么 10
1.8 设计模式的非软件示例 11
1.7.3 不是万能的 11
1.9 小结 13
2.2.1 UML类图 14
2.2 UML表示法 14
第2章 UML与设计模式 14
2.1 GOF设计模式中的图示法 14
2.2.2 UML对象图 18
2.3 《设计模式》中图示法与UML的区别 19
2.2.3 UML序列图 19
2.4 设计模式的逻辑模型和实现模型 20
2.6 小结 22
2.5 使用CASE工具 22
3.1 软件设计的目标 23
第3章 面向对象软件设计的目标、原则和难点 23
3.3.2 封装变化 24
3.3.1 面向接口编程 24
3.2 “开-闭”原则 24
3.3 实现“开-闭”原则 24
3.3.3 采用组合替代继承 25
3.4 面向对象软件设计的难点 26
3.5.2 紧耦合 27
3.5.1 通过显示指定类创建对象 27
3.5 设计模式解决的问题 27
3.5.5 不能方便地修改类 28
3.5.4 对对象表示或实现的依赖 28
3.5.3 通过生成子类扩展功能 28
3.6 小结 29
3.5.7 对软硬件环境的依赖 29
3.5.6 对算法的依赖 29
4.2 简单方案 30
4.1 人戴帽子的需求 30
第4章 小题大做:人戴帽子——面向对象设计与设计模式 30
4.4 人的行为可变性 32
4.3 能否适应帽子种类的变化 32
4.5 谁给人戴帽子——在何处实例化对象 37
4.6 不戴帽子就不能游泳吗——解耦 38
4.7 设计模型的适应性 40
4.8.1 模型回顾 41
4.8 人戴帽子:并非小题大做——面向对象设计与设计模式 41
4.8.3 工作流中的角色与职责 42
4.8.2 游戏建模 42
4.9 小结 43
5.1.1 .NET的组成 45
5.1 .NET概述 45
第5章 在.NET平台下使用设计模式 45
5.1.4 类库 46
5.1.3 CLR 46
5.1.2 .NET框架内核 46
5.2.1 .NET可执行应用程序结构 47
5.2 反射技术 47
5.2.2 反射技术示例 48
5.3.1 概述 50
5.3 委托技术 50
5.2.3 在设计模式实现中使用反射技术 50
5.3.2 示例 51
5.3.3 委托技术与GOF设计模式中委托的关系 52
5.4.1 作用 53
5.4 数据绑定 53
5.3.4 委托技术与设计模式实现 53
5.4.3 ASPNET中的数据绑定 55
5.4.2 Windows窗体中的数据绑定 55
5.5 对象的序列化 56
5.4.4 数据绑定与设计模式 56
5.6.1 Web窗体的状态管理 57
5.6 Web应用中的技术 57
5.6.2 Cache 60
5.8 小结 61
5.7.5 IDataAdapter 61
5.7 接口和类 61
5.7.1 ICloneable 61
5.7.2 IEnumerable和IEnumerator 61
5.7.3 MenuCommand类与IMenuCommandService接口 61
5.7.4 CollectionBase类 61
第2篇 设计模式的实现与使用 63
6.1 引言 65
第6章 简单工厂 65
6.2.3 效果 67
6.2.2 使用场合 67
6.2 概述 67
6.2.1 意图 67
6.3.2 结构 68
6.3.1 实现要点 68
6.3 .NET实现 68
6.3.3 代码框架 69
6.4 获得数据库连接对象 70
6.5.2 结构和代码 71
6.5.1 问题 71
6.5 获得配置文件访问对象 71
6.5.3 效果 73
6.6.3 访问Web站点 74
6.6.2 代码 74
6.6 获得数据流访问对象 74
6.6.1 问题 74
6.8 相关模式 75
6.7 简单工厂的综合应用 75
7.1 引言 76
第7章 工厂方法模式 76
7.2.3 结构 77
7.2.2 使用场合 77
7.2 概述 77
7.2.1 意图 77
7.4 .NET中的工厂方法——获得迭代器 78
7.3 鸟生蛋的模化 78
7.2.4 效果 78
7.5 获得多媒体播放对象 79
7.6 相关模式 80
8.1 引言 81
第8章 抽象工厂 81
8.2.3 结构 82
8.2.2 使用场合 82
8.2 概述 82
8.2.1 意图 82
8.2.4 实现示例 83
8.2.5 效果 84
8.3 数据库访问类的优化 85
8.4 抽象工厂在组态软件中的应用 87
8.5 相关模式 89
9.1 引言 91
第9章 .NET的反射工厂 91
9.2 采用反射技术简化工厂类 92
9.3.1 对简单工厂的改进 93
9.3 反射工厂 93
9.3.3 反射与抽象工厂 94
9.3.2 反射与工厂方法 94
9.5.2 分析 95
9.5.1 问题 95
9.4 反射工厂的应用实例 95
9.5 NDoc中的文档生成器工厂 95
9.5.3 实现 96
9.7 小结 97
9.6 反射工厂的使用效果 97
9.5.4 效果 97
10.1 引言 98
第10章 生成器 98
10.2.3 结构 100
10.2.2 使用场合 100
10.2 概述 100
10.2.1 意图 100
10.2.4 实现示例 101
10.3 生成器模式与抽象工厂的区别 103
10.2.5 效果 103
10.4 实现Web资源管理软件 105
10.5.1 数据库编辑界面的自动生成 110
10.5 支持Windows应用和Web应用的界面生成器 110
10.5.3 导航器和生成器接口 112
10.5.2 同时支持Web应用 112
10.5.4 Windows界面的生成器 114
10.5.5 Web界面的生成器 116
10.7 相关模式 118
10.6 生成器与生成器模式 118
11.1 引言 119
第11章 原型模式 119
11.2.3 结构 120
11.2.2 使用场合 120
11.2 概述 120
11.2.1 意图 120
11.3.2 实现结构 121
11.3.1 ICloneable接口 121
11.2.4 效果 121
11.3 .NET实现 121
11.4.1 结构 122
11.4 复制商品房销售系统中楼盘 122
11.3.3 深复制与浅复制 122
11.4.2 强制类型集合 123
11.4.3 实现业务类 126
11.4.4 使用 127
11.6.1 问题 128
11.6 创建自定义图元 128
11.4.5 效果 128
11.5 .NET中的原型模式 128
11.6.3 实现ICloneable接口 129
11.6.2 解决方案 129
11.6.4 构造工厂 130
11.6.6 实现橡皮筋 131
11.6.5 状态管理 131
11.8 相关模式 133
11.7 总结 133
11.6.7 效果 133
12.1 图的结构 134
第12章 专题——克隆图 134
12.2 克隆图的难点 136
12.3 实现 138
12.4 实例——矢量图编辑软件中的拷贝/粘贴 139
12.5 小结 140
13.1.4 效果 141
13.1.3 结构 141
第13章 单件模式 141
13.1 概述 141
13.1.1 意图 141
13.1.2 使用场合 141
13.3 单件计数器 142
13.2 .NET实现 142
13.4 单件窗体 143
13.5 全局变量与单件 144
13.8 相关模式 145
13.7 总结 145
13.6 单件与实用类中的静态方法 145
14.1.2 私有构造函数 146
14.1.1 公共构造函数 146
第14章 与对象创建相关的其他问题 146
14.1 构造函数 146
14.1.4 静态构造函数 147
14.1.3 保护构造函数 147
14.2 仅通过工厂获得实例 148
14.3 采用内部类封装实现 149
14.4 注册工厂 150
14.5 小结 151
15.1.2 结构 152
15.1.1 意图 152
第15章 适配器模式 152
15.1 概述 152
15.2 多媒体播放对象 154
15.1.3 使用场合 154
15.3 应用系统间的接口 156
15.4 通信接口 159
15.6 .NET中的适配器——DataAdapter 160
15.7 相关模式 161
16.1.3 结构 162
16.1.2 使用场合 162
第16章 桥接模式 162
16.1 概述 162
16.1.1 意图 162
16.2 数据库表编辑窗体——.NET实现 164
16.1.4 效果 164
16.3 多种数据源与多种数据显示方式的组合 168
16.4 生成报表 170
16.5 相关模式 172
17.1.3 结构 173
17.1.2 使用场合 173
第17章 外观模式 173
17.1 概述 173
17.1.1 意图 173
17.1.4 效果 174
17.2 数据库访问外观模式 175
17.3 分层结构与外观模式 176
17.4 封装子系统 177
17.7 相关模式 178
17.6 系统演化 178
17.5 子系统隔离 178
18.1 适配器模式与桥接模式的区别和联系 180
第18章 适配器模式、桥接模式与外观模式 180
18.2 适配器模式与桥接模式的联合 181
18.3 适配器模式与外观模式的关系 182
18.4 小结 183
19.1 引言 184
第19章 装饰模式 184
19.2.2 结构 186
19.2.1 意图 186
19.2 概述 186
19.2.4 实现时的注意事项 187
19.2.3 适用性 187
19.3 网页组件装饰器 188
19.2.5 效果 188
19.4 BufferedStream——.NET中的装饰模式实例 191
19.5 装饰≠装饰模式——采用CollectionBase实现强制类型集合 193
19.6.1 问题 194
19.6 操作记录 194
19.6.3 代码实现 195
19.6.2 结构 195
19.7 改变外观还是改变内核 197
19.6.4 结果 197
19.8 相关模式 198
20.1 引言 199
第20章 代理模式 199
20.2.2 使用场合 200
20.2.1 意图 200
20.2 概述 200
20.2.4 结果 201
20.2.3 结构 201
20.3 测试中的“占位”对象 202
20.4 .NET中的代理模式——XMLWeb Service 205
20.5 .NET中的代理模式——RealProxy 206
20.6.1 问题 208
20.6 去掉冗余的权限 208
20.6.3 代码实现 209
20.6.2 结构 209
20.7 相关模式 210
20.6.4 结果 210
21.1.3 结构 211
21.1.2 使用场合 211
第21章 组合模式 211
21.1 概述 211
21.1.1 意图 211
21.2 .NET控件——组合模式在.NET中的实例 212
21.1.4 效果 212
21.3.1 组合模式的不同实现方式 214
21.3 .NET实现 214
21.4.1 问题 215
21.4 复杂报表的指标树 215
21.3.2 强制类型集合或非强制类型集合 215
21.3.3 实现递归遍历 215
21.4.2 结构 216
21.4.3 代码 217
21.5.2 结构 219
21.5.1 问题 219
21.5 数据采集系统的显示组件 219
21.6.2 结构 221
21.6.1 问题 221
21.5.3 效果 221
21.6 油品库存模型 221
21.8 组合模式、装饰模式和代理模式 222
21.7.3 效果 222
21.6.3 效果 222
21.7 MRP中的BOM 222
21.7.1 问题 222
21.7.2 结构 222
21.9 与其他模式的关系 224
22.1.3 结构 225
22.1.2 使用场合 225
第22章 享元模式 225
22.1 概述 225
22.1.1 意图 225
22.2 HTML中的图像——享元模式实例 226
22.1.4 效果 226
22.3 围棋 227
22.4 相关模式 232
23.3 共享商品房类型 233
23.2 共享对象与注册工厂 233
第23章 享元模式与共享对象 233
23.1 什么是共享对象 233
23.4 共享编辑窗体 235
23.5 小结 241
24.2.2 使用场合 242
24.2.1 意图 242
第24章 职责链模式 242
24.1 引言 242
24.2 概述 242
24.2.4 职责链模式构成与执行效率 243
24.2.3 结构 243
24.3.2 方案 244
24.3.1 问题 244
24.2.5 结果 244
24.3 文法分析器——四则运算式解析 244
24.4.2 方案 250
24.4.1 问题 250
24.3.3 结果 250
24.4 计算后则表达式 250
24.5.1 问题 253
24.5 用于计算的职责链示例——计算所得税 253
24.4.3 结果 253
24.5.2 方案 254
24.6 实现异常保护 257
24.6.1 问题 257
24.6.2 解决方案 258
24.7 相关模式 260
24.6.3 结果 260
25.2.3 结构 261
25.2.2 使用场合 261
第25章 命令模式 261
25.1 引言 261
25.2 概述 261
25.2.1 意图 261
25.2.5 效果 262
25.2.4 理解结构 262
25.3 采用命令模式支持“取消”与“重做”功能 263
25.4 实现“取消”与“重做”功能 264
25.5 限制角色行为 265
25.6.1 IOleCommandTarget 269
25.6 IOleCommandTarget接口与命令模式 269
25.6.3 MSHTML与IOleCommandTarget接口 270
25.6.2 IOleCommandTarget的调用 270
25.6.4 使用示例 273
25.7 相关模式 277
25.6.5 结果 277
26.2 语法规则、分析器和解释器 278
26.1 引言 278
第26章 解释器模式 278
26.3.3 结构 279
26.3.2 应用场合 279
26.3 概述 279
26.3.1 意图 279
26.5 创建机器人语言的解释器 280
26.4 简单的机器人语言 280
26.3.4 效果 280
26.6 命令分析器与解释器 285
26.7 相关模式 287
27.1.3 结构 288
27.1.2 使用场合 288
第27章 迭代器模式 288
27.1 概述 288
27.1.1 意图 288
27.2 .NET中的迭代器模式 289
27.1.4 效果 289
27.3 强制类型集合与迭代器模式 290
27.5 相关模式 293
27.4 遍历Web缓存 293
28.2.2 结构 294
28.2.1 意图 294
第28章 备忘录模式 294
28.1 引言 294
28.2 概述 294
28.3 备忘录模式的基本框架 295
28.2.4 效果 295
28.2.3 使用场合 295
28.4 实现要点分析 298
28.5 实现宽接口和窄接口 300
28.6 相关模式 302
29.1.3 结构 303
29.1.2 使用场合 303
第29章 状态模式 303
29.1 概述 303
29.1.1 意图 303
29.2 状态和状态模式的进一步讨论 304
29.1.4 效果 304
29.3 冷暖空调的控制器 306
29.4 图形编辑器中的状态模式 308
29.5 实现用户权限的多态性 311
29.6 工作流与状态模式 312
29.7 相关模式 313
30.1.1 意图 314
30.1 概述 314
第30章 观察者模式 314
30.1.3 结构 315
30.1.2 使用场合 315
30.2 采用委托和事件机制实现观察者模式 316
30.1.4 效果 316
30.2.1 C#实现方法 317
30.2.2 采用WithEvents——VB.NET的实现方法 318
30.2.3 与传统实现方法比较 319
30.3 Web查询结构 320
30.4 E-mail和短消息通知 323
30.5 事件连锁 331
30.6 相关模式 332
31.1.3 结构 333
31.1.2 使用场合 333
第31章 中介者模式 333
31.1 概述 333
31.1.1 意图 333
31.2 采用委托技术简化中介者模式的结构 334
31.1.4 效果 334
31.3 .NET中的中介者模式——窗体与窗体控件 335
31.4.1 编辑界面接口 337
31.4 界面与业务类交互的中介者 337
31.4.3 中介者 338
31.4.2 数据访问接口 338
31.4.4 实现 339
31.5.1 工作流简介 341
31.5 工作流与中介者模式 341
31.5.2 工作流与中介者模式 342
31.6 相关模式 344
32.2.2 使用场合 345
32.2.1 意图 345
第32章 策略模式 345
32.1 引言 345
32.2 模式概述 345
32.2.4 效果 346
32.2.3 结构 346
32.3 加密和解密 347
32.4.1 问题 350
32.4 计算库存下限 350
32.4.3 实现 351
32.4.2 结构 351
32.5 采用委托技术的策略模式 354
32.6 相关模式 355
33.2.1 意图 356
33.2 模式概述 356
第33章 模板方法模式 356
33.1 引言 356
33.2.3 结构 357
33.2.2 使用场合 357
33.3 SQL生成器——.NET实现 358
33.2.4 效果 358
33.4 通信程序中的模板方法 360
33.5 绘制图形中的模板方法 361
33.6 采用委托实现模板方法 364
33.7 相关模式 365
第34章 访问者模式 366
34.1.1 意图 367
34.1 概述 367
34.1.3 结构 368
34.1.2 使用场合 368
34.1.4 效果 369
34.2 .NET实现 370
34.3 访问者模式与非强制类型集合 372
34.4 相关模式 378
35.2 业务域模型 379
35.1 信息系统的组成 379
第35章 访问模式使用专题:访问业务域模型 379
35.3 在子系统中使用业务域模型 380
35.4 采用访问者模式为业务对象增加操作 381
35.5 小结 382
36.1 封装变化与面向接口编程 383
第36章 委托技术与行为型设计模式 383
36.3.1 模板方法的结构 384
36.3 采用委托技术实现的设计模式 384
36.2 委托技术的使用场合 384
36.3.2 策略模式 386
36.3.3 中介者模式 387
36.3.4 观察者模式 388
36.5 设计模式的发展 389
36.4 用组合替代继承 389
36.6 小结 390
第3篇 开源项目中的设计模式 391
37.1 NUnit结构组成与设计模式 393
第37章 NUnit中的设计模式 393
37.2.1 TestCaseBuilder 394
37.2 简单工厂 394
37.2.2 TestSuiteBuilder 396
37.3 组合模式 398
37.3.1 测试结果 399
37.4 模板方法——执行测试用例 400
37.5 测试用例的动态绑定 403
37.6 访问者模式 404
37.7.1 封装TextWriter 407
37.7 装饰器模式 407
37.7.2 作为TreeView节点的Test 408
37.8 适配器模式 410
37.9 观察者模式 411
37.10 小结 414
38.2 DotNetNuke与设计模式 415
38.1 DotNetNuke简介 415
第38章 DotNetNuke中的设计模式 415
38.3.1 数据提供对象 416
38.3 采用反射技术的工厂方法 416
38.3.2 创建业务逻辑对象 417
38.3.3 创建日志记录器 421
38.4 装饰器模式——为模块提供容器 422
38.5 Web应用中的命令模式——编辑菜单 424
38.6 组合模式——栏目组成 426
38.7 享元模式 428
38.8 桥接模式——日志记录 430
38.9 策略模式——支持多种类型的HTML编辑器 432
38.10 观察者模式——实现模块间通信 436
38.11 适配器模式——实现版本兼容 438
38.12 小结 439
39.2 采用反射的工厂方法 440
39.1 模式一览 440
第39章 Gentle中的设计模式 440
39.3 抽象工厂——针对不同数据库的访问提供者 441
39.4 组合模式——SQL语句描述 445
39.5 迭代器模式——自定义Cache的访问 448
39.6 外观模式 449
39.7 小结 450
40.3.1 ILoggerFactory 451
40.3 工厂方法 451
第40章 Log4net中的设计模式 451
40.1 Log4net介绍 451
40.2 模式一览 451
40.3.2 IPluginFactory 453
40.4 模板方法 454
40.5 桥接 456
40.6 职责链模式 457
40.7 适配器模式 459
40.8 原型模式 461
40.9 迭代器模式 462
40.10 小结 463
第4篇 模式与交流 465
41.2 设计模式在组织中的作用 467
41.1 需求及其分析 467
第41章 在组织中使用设计模式 467
41.3 将设计模式引入组织遇到的困难 468
41.4.3 重视项目的重构 469
41.4.2 建立合理的培训体制 469
41.4 将设计模式引入组织的方法 469
41.4.1 设定开发人员的知识体系 469
41.4.4 逐渐将设计模式引入开发流程 470
42.1.2 提高书面表达能力 471
42.1.1 提高抽象能力 471
第42章 发掘模式 471
42.1 为什么要发掘模式 471
42.2 发明还是发现 472
42.1.3 有助于团队意识的培养 472
42.4.2 确定范围 473
42.4.1 前提 473
42.3 模式的范围 473
42.3.1 方言 473
42.3.2 模式语言 473
42.4 如何发现模式 473
42.4.4 确定Forces 474
42.4.3 明确问题及其所处的上下文 474
42.4.6 效果 475
42.4.5 描述解决方案 475
42.6 模式的Workshop 476
42.5 模式的Shepherd过程 476
42.4.7 模式名称 476
42.4.8 模式的其他部分 476
43.2 PLoP Workshop的组织形式 477
43.1 传统会议的不足 477
第43章 小组学习的范例——PLoP的Workshop 477
43.4 组织自己的Workshop 478
43.3 PLoP Workshop的优点 478
44.2 模式覆盖的范围越来越广 479
44.1 模式的书写方式和形成过程基本成熟 479
第44章 模式的发展 479
44.4 模式发展的良性循环 480
44.3 越来越多的领域产生模式语言 480
附录A 设计模式与设计模式组合速查 481
参考文献 492
后记 495
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等学校“十三五”规划教材 C语言程序设计》翟玉峰责任编辑;(中国)李聪,曾志华,江伟 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017