当前位置:首页 > 百科

.NET与设计模式

《.NET与设计模式》是2005年6月电子工业出版社出版的图书,作者是甄镭。

  • 书名 .NET与设计模式
  • 作者 甄镭
  • 出版社 电子工业出版社
  • 出版时间 2005 年6月
  • 页数 494 页

呢孔权企容简介

  本书力求将本书力求来自将设计模式与实际开发紧密联系起来,具体讲述了哪种模式可以在哪种现实的应用场景中采用。全书融入了作者多年的开发经验,介绍了许多现实案例,具有很强的实用性。本书区危肥科配烟甲流激注分为4篇:第1篇讲述了面向对象设计的一些基本原则和.net引入的新概念;第2篇以gof的23种设计模式为主线用相当多的实例介绍了每一种设计模式的引入原因、动机、使用环境、结构及其收益与代价;第3篇介绍设计模式在dotnetnuke、nunit、ndoc和gentle等开放源码中的应用;第4篇介绍了有关模式的历史,如何发现和书写模式,以及模式社会的交流场所plop等。

  本书适合360百科所有程序员及相关技术开发人员阅读

目录

  第1章 理解设计模式 3

  1.1 模式的定义 3

  1.2 gof的设计模式与模式 5

  仍弱接策式者田略地1.3 理解设计模式的名称 5

  1.3.1 工厂与工厂方法 6

  1.3.2 生成器与生成器模式 6

  1.3.3 桥接延孔且入与桥接模式 6

  1.3.4 状态与状态模式 6

  1.3.5 适配器与适配器东色日简令八比含圆模式 6

  1.3.6 装饰器和装饰器模式 7

  1.3.血斤煤件口触7 代理和代理模式 7

  1.4 理解设计模式的场景 7

  1.5 理解设计模式讲犯中的作用力 9

  1.6 理解设计模式小病部民第的结果和代价 9

  1.6.1 对象过多 9

  1.6.2 更复杂的装配很友践话粉持坏财胶胜商关系 9

  1.6.3 测试难度加大 10

  1.6.4 程序结构复杂 10

  1.7 设计模式不能做什么 10

牛死采含长感  1.7.1 设计模式不是法则 10

  .1.7.2 不能提高开发速度或者形象开发速度 10

  1.7.3 不是万能的 11

  1.8 设计模式的非软件示例 11

  1.9 小结 13

  第2章 uml与设计模式 14

  2.1 gof设计模式中的图示法 14

  2.2 uml表示法 14

  2.2.1 uml类图 14

  2.2.2 uml对象图 18

  2.2.3 uml序列图 19

  2.3 《设计模式》中图示法与uml的区别 19

  2.4 设计模式的逻辑模型和实现模型 20

  2.5 使用里等case工具 22

  2.6 小院话革吸稳但办简省尼回结 22

  第3章 面向对象软件设计的目标、原则和难点 23

  3.1 软件设计的目标 23

  3.2 "开–闭"原则 24

  3.3 实现"开–闭"原则 24

  3.3.1 面由玉变点弱远向接口编程 24

  3.3.2 封装变化 24

  3.3.3 采用组合替代继承 25

  3.4 面向对象软件设计的代顾区溶历坐西难点 26

  3.5 设计模式解决的问题 27

  3.5.1 通过显示指定类创建对象 27

  3.5.2 紧耦合 27

  3.5.3 通过生成子类扩展功能 28

  内静苗整传着孩格3.5.4 对对象表示或实现的依赖 28

  3.5.5 不能方便地修改类 28

  3.5.6 对算法的依赖 29

  3.5.7 对软硬件环境的依赖 29

  3.6 小结 29

  第4章 小题大做:人戴帽子--面向对象设计与设计模式 30

  4.1 人戴帽子的需求 30

  4.2 简单方案 30

  4.3 能否适应帽子种类的变化 32

  4.4 人的行为可变性 32

  4.5 谁给人戴帽子--在何处实例化对象 37

  4.6 不戴帽子就不能游泳吗--解耦 38

  4.7 设计模型的适应性 40

  4.8 人戴帽子:并非小题大做--面向对象设计与设计模式 41

  4.8.1 模型回顾 41

  4.8.2 游戏建模 42

  4.8.3 工作流中的角色与职责 42

  4.9 小结 43

  第5章 在.net平台下使用设计模式 45

  5.1 .net概述 45

  5.1.1 .net的组成 45

  5.1.2 .net框架内核 46

  5.1.3 clr 46

  5.1.4 类库 46

  5.2 反射技术 47

  5.2.1 .net可执行应用程序结构 47

  5.2.2 反射技术示例 48

  5.2.3 在设计模式实现中使用反射技术 50

  5.3 委托技术 50

  5.3.1 概述 50

  5.3.2 示例 51

  5.3.3 委托技术与gof设计模式中委托的关系 52

  5.3.4 委托技术与设计模式实现 53

  5.4 数据绑定 53

  5.4.1 作用 53

  5.4.2 windows窗体中的数据绑定 55

  5.4.3 aspnet中的数据绑定 55

  5.4.4 数据绑定与设计模式 56

  5.5 对象的序列化 56

  5.6 web应用中的技术 57

  5.6.1 web窗体的状态管理 57

  5.6.2 cache 60

  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

  5.7.5 idataadapter 61

  5.8 小结 61

  第2篇 设计模式的实现与使用

  第6章 简单工厂 65

  6.1引言 65

  6.2 概述 67

  6.2.1意图 67

  6.2.2 使用场合 67

  6.2.3 效果 67

  6.3 .net实现 68

  6.3.1 实现要点 68

  6.3.2结构 68

  6.3.3 代码框架 69

  6.4 获得数据库连接对象 70

  6.5 获得配置文件访问对象 71

  6.5.1 问题 71

  6.5.2 结构和代码 71

  6.5.3 效果 73

  6.6 获得数据流访问对象 74

  6.6.1 问题 74

  6.6.2 代码 74

  6.6.3 访问web站点 74

  6.7 简单工厂的综合应用 75

  6.8 相关模式 75

  第7章 工厂方法模式 76

  7.1 引言 76

  7.2 概述 77

  7.2.1 意图 77

  7.2.2 使用场合 77

  7.2.3 结构 77

  7.2.4 效果 78

  7.3 鸟生蛋的模化 78

  7.4 .net中的工厂方法--获得迭代器 78

  7.5 获得多媒体播放对象 79

  7.6 相关模式 80

  第8章 抽象工厂 81

  8.1 引言 81

  8.2 概述 82

  8.2.1 意图 82

  8.2.2 使用场合 82

  8.2.3 结构 82

  8.2.4 实现示例 83

  8.2.5 效果 84

  8.3 数据库访问类的优化 85

  8.4 抽象工厂在组态软件中的应用 87

  8.5 相关模式 89

  第9章 .net的反射工厂 91

  9.1 引言 91

  9.2 采用反射技术简化工厂类 92

  9.3 反射工厂 93

  9.3.1 对简单工厂的改进 93

  9.3.2 反射与工厂方法 94

  9.3.3 反射与抽象工厂 94

  9.4 反射工厂的应用实例 95

  9.5 ndoc中的文档生成器工厂 95

  9.5.1 问题 95

  9.5.2 分析 95

  9.5.3 实现 96

  9.5.4 效果 97

  9.6 反射工厂的使用效果 97

  9.7 小结 97

  第10章 生成器 98

  10.1 引言 98

  10.2 概述 100

  10.2.1 意图 100

  10.2.2 使用场合 100

  10.2.3 结构 100

  10.2.4 实现示例 101

  10.2.5 效果 103

  10.3 生成器模式与抽象工厂的区别 103

  10.4 实现web资源管理软件 105

  10.5 支持windows应用和web应用的界面生成器 110

  10.5.1 数据库编辑界面的自动生成 110

  10.5.2 同时支持web应用 112

  10.5.3 导航器和生成器接口 112

  10.5.4 windows界面的生成器 114

  10.5.5 web界面的生成器 116

  10.6 生成器与生成器模式 118

  10.7 相关模式 118

  第11章 原型模式 119

  11.1 引言 119

  11.2 概述 120

  11.2.1 意图 120

  11.2.2 使用场合 120

  11.2.3 结构 120

  11.2.4 效果 121

  11.3 .net实现 121

  11.3.1 icloneable接口 121

  11.3.2 实现结构 121

  11.3.3 深复制与浅复制 122

  11.4 复制商品房销售系统中楼盘 122

  11.4.1 结构 122

  11.4.2 强制类型集合 123

  11.4.3 实现业务类 126

  11.4.4 使用 127

  11.4.5 效果 128

  11.5 .net中的原型模式 128

  11.6 创建自定义图元 128

  11.6.1 问题 128

  11.6.2 解决方案 129

  11.6.3 实现icloneable接口 129

  11.6.4 构造工厂 130

  11.6.5 状态管理 131

  11.6.6 实现橡皮筋 131

  11.6.7 效果 133

  11.7 总结 133

  11.8 相关模式 133

  第12章 专题--克隆图 134

  12.1 图的结构 134

  12.2 克隆图的难点 136

  12.3 实现 138

  12.4 实例--矢量图编辑软件中的拷贝/粘贴 139

  12.5 小结 140

  第13章 单件模式 141

  13.1 概述 141

  13.1.1 意图 141

  13.1.2 使用场合 141

  13.1.3 结构 141

  13.1.4 效果 141

  13.2 .net实现 142

  13.3 单件计数器 142

  13.4 单件窗体 143

  13.5 全局变量与单件 144

  13.6 单件与实用类中的静态方法 145

  13.7 总结 145

  13.8 相关模式 145

  第14章 与对象创建相关的其他问题 146

  14.1 构造函数 146

  14.1.1 公共构造函数 146

  14.1.2 私有构造函数 146

  14.1.3 保护构造函数 147

  14.1.4 静态构造函数 147

  14.2 仅通过工厂获得实例 148

  14.3 采用内部类封装实现 149

  14.4 注册工厂 150

  14.5 小结 151

  第15章 适配器模式 152

  15.1 概述 152

  15.1.1 意图 152

  15.1.2 结构 152

  15.1.3 使用场合 154

  15.2 多媒体播放对象 154

  15.3 应用系统间的接口 156

  15.4 通信接口 159

  15.6 .net中的适配器--dataadapter 160

  15.7 相关模式 161

  第16章 桥接模式 162

  16.1 概述 162

  16.1.1 意图 162

  16.1.2 使用场合 162

  16.1.3 结构 162

  16.1.4 效果 164

  16.2 数据库表编辑窗体--.net实现 164

  16.3 多种数据源与多种数据显示方式的组合 168

  16.4 生成报表 170

  16.5 相关模式 172

  第17章 外观模式 173

  17.1 概述 173

  17.1.1 意图 173

  17.1.2 使用场合 173

  17.1.3 结构 173

  17.1.4 效果 174

  17.2 数据库访问外观模式 175

  17.3 分层结构与外观模式 176

  17.4 封装子系统 177

  17.5 子系统隔离 178

  17.6 系统演化 178

  17.7 相关模式 178

  第18章 适配器模式、桥接模式与外观模式 180

  18.1 适配器模式与桥接模式的区别和联系 180

  18.2 适配器模式与桥接模式的联合 181

  18.3 适配器模式与外观模式的关系 182

  18.4 小结 183

  第19章 装饰模式 184

  19.1 引言 184

  19.2 概述 186

  19.2.1 意图 186

  19.2.2 结构 186

  19.2.3 适用性 187

  19.2.4 实现时的注意事项 187

  19.2.5 效果 188

  19.3 网页组件装饰器 188

  19.4 bufferedstream--.net中的装饰模式实例 191

  19.5 装饰≠装饰模式--采用collectionbase实现强制类型集合 193

  19.6 操作记录 194

  19.6.1 问题 194

  19.6.2 结构 195

  19.6.3 代码实现 195

  19.6.4 结果 197

  19.7 改变外观还是改变内核 197

  19.8 相关模式 198

  第20章 代理模式 199

  20.1 引言 199

  20.2 概述 200

  20.2.1 意图 200

  20.2.2 使用场合 200

  20.2.3 结构 201

  20.2.4 结果 201

  20.3 测试中的"占位"对象 202

  20.4 .net中的代理模式--xmlweb service 205

  20.5 .net中的代理模式--realproxy 206

  20.6 去掉冗余的权限 208

  20.6.1 问题 208

  20.6.2 结构 209

  20.6.3 代码实现 209

  20.6.4 结果 210

  20.7 相关模式 210

  第21章 组合模式 211

  21.1 概述 211

  21.1.1 意图 211

  21.1.2 使用场合 211

  21.1.3 结构 211

  21.1.4 效果 212

  21.2 .net控件--组合模式在.net中的实例 212

  21.3 .net实现 214

  21.3.1 组合模式的不同实现方式 214

  21.3.2 强制类型集合或非强制类型集合 215

  21.3.3 实现递归遍历 215

  21.4 复杂报表的指标树 215

  21.4.1 问题 215

  21.4.2 结构 216

  21.4.3 代码 217

  21.5 数据采集系统的显示组件 219

  21.5.1 问题 219

  21.5.2 结构 219

  21.5.3 效果 221

  21.6 油品库存模型 221

  21.6.1 问题 221

  21.6.2 结构 221

  21.6.3 效果 222

  21.7 mrp中的bom 222

  21.7.1 问题 222

  21.7.2 结构 222

  21.7.3 效果 222

  21.8 组合模式、装饰模式和代理模式 222

  21.9 与其他模式的关系 224

  第22章 享元模式 225

  22.1 概述 225

  22.1.1 意图 225

  22.1.2 使用场合 225

  22.1.3 结构 225

  22.1.4 效果 226

  22.2 html中的图像--享元模式实例 226

  22.3 围棋 227

  22.4 相关模式 232

  第23章 享元模式与共享对象 233

  23.1 什么是共享对象 233

  23.2 共享对象与注册工厂 233

  23.3 共享商品房类型 233

  23.4 共享编辑窗体 235

  23.5 小结 241

  第24章 职责链模式 242

  24.1 引言 242

  24.2 概述 242

  24.2.1 意图 242

  24.2.2 使用场合 242

  24.2.3 结构 243

  24.2.4 职责链模式构成与执行效率 243

  24.2.5 结果 244

  24.3 文法分析器--四则运算式解析 244

  24.3.1 问题 244

  24.3.2 方案 244

  24.3.3 结果 250

  24.4 计算后则表达式 250

  24.4.1 问题 250

  24.4.2 方案 250

  24.4.3 结果 253

  24.5 用于计算的职责链示例--计算所得税 253

  24.5.1 问题 253

  24.5.2 方案 254

  24.6 实现异常保护 257

  24.6.1 问题 257

  24.6.2 解决方案 258

  24.6.3 结果 260

  24.7 相关模式 260

  第25章 命令模式 261

  25.1 引言 261

  25.2 概述 261

  25.2.1 意图 261

  25.2.2 使用场合 261

  25.2.3 结构 261

  25.2.4 理解结构 262

  25.2.5 效果 262

  25.3 采用命令模式支持"取消"与"重做"功能 263

  25.4 实现"取消"与"重做"功能 264

  25.5 限制角色行为 265

  25.6 iolecommandtarget接口与命令模式 269

  25.6.1 iolecommandtarget 269

  25.6.2 iolecommandtarget的调用 270

  25.6.3 mshtml与iolecommandtarget接口 270

  25.6.4 使用示例 273

  25.6.5 结果 277

  25.7 相关模式 277

  第26章 解释器模式 278

  26.1 引言 278

  26.2 语法规则、分析器和解释器 278

  26.3 概述 279

  26.3.1 意图 279

  26.3.2 应用场合 279

  26.3.3 结构 279

  26.3.4 效果 280

  26.4 简单的机器人语言 280

  26.5 创建机器人语言的解释器 280

  26.6 命令分析器与解释器 285

  26.7 相关模式 287

  第27章 迭代器模式 288

  27.1 概述 288

  27.1.1 意图 288

  27.1.2 使用场合 288

  27.1.3 结构 288

  27.1.4 效果 289

  27.2 .net中的迭代器模式 289

  27.3 强制类型集合与迭代器模式 290

  27.4 遍历web缓存 293

  27.5 相关模式 293

  第28章 备忘录模式 294

  28.1 引言 294

  28.2 概述 294

  28.2.1 意图 294

  28.2.2 结构 294

  28.2.3 使用场合 295

  28.2.4 效果 295

  28.3 备忘录模式的基本框架 295

  28.4 实现要点分析 298

  28.5 实现宽接口和窄接口 300

  28.6 相关模式 302

  第29章 状态模式 303

  29.1 概述 303

  29.1.1 意图 303

  29.1.2 使用场合 303

  29.1.3 结构 303

  29.1.4 效果 304

  29.2 状态和状态模式的进一步讨论 304

  29.3 冷暖空调的控制器 306

  29.4 图形编辑器中的状态模式 308

  29.5 实现用户权限的多态性 311

  29.6 工作流与状态模式 312

  29.7 相关模式 313

  第30章 观察者模式 314

  30.1 概述 314

  30.1.1 意图 314

  30.1.2 使用场合 315

  30.1.3 结构 315

  30.1.4 效果 316

  30.2 采用委托和事件机制实现观察者模式 316

  30.2.1 c#实现方法 317

  30.2.2 采用withevents--vbnet的实现方法 318

  30.2.3 与传统实现方法比较 319

  30.3 web查询结构 320

  30.4 e-mail和短消息通知 323

  30.5 事件连锁 331

  30.6 相关模式 332

  第31章 中介者模式 333

  31.1 概述 333

  31.1.1 意图 333

  31.1.2 使用场合 333

  31.1.3 结构 333

  31.1.4 效果 334

  31.2 采用委托技术简化中介者模式的结构 334

  31.3 .net中的中介者模式--窗体与窗体控件 335

  31.4 界面与业务类交互的中介者 337

  31.4.1 编辑界面接口 337

  31.4.2 数据访问接口 338

  31.4.3 中介者 338

  31.4.4 实现 339

  31.5 工作流与中介者模式 341

  31.5.1 工作流简介 341

  31.5.2 工作流与中介者模式 342

  31.6 相关模式 344

  第32章 策略模式 345

  32.1 引言 345

  32.2 模式概述 345

  32.2.1 意图 345

  32.2.2 使用场合 345

  32.2.3 结构 346

  32.2.4 效果 346

  32.3 加密和解密 347

  32.4 计算库存下限 350

  32.4.1 问题 350

  32.4.2 结构 351

  32.4.3 实现 351

  32.5 采用委托技术的策略模式 354

  32.6 相关模式 355

  第33章 模板方法模式 356

  33.1 引言 356

  33.2 模式概述 356

  33.2.1 意图 356

  33.2.2 使用场合 357

  33.2.3 结构 357

  33.2.4 效果 358

  33.3 sql生成器--.net实现 358

  33.4 通信程序中的模板方法 360

  33.5 绘制图形中的模板方法 361

  33.6 采用委托实现模板方法 364

  33.7 相关模式 365

  第34章 访问者模式 366

  34.1 概述 367

  34.1.1 意图 367

  34.1.2 使用场合 368

  34.1.3 结构 368

  34.1.4 效果 369

  34.2 .net实现 370

  34.3 访问者模式与非强制类型集合 372

  34.4 相关模式 378

  第35章 访问模式使用专题:访问业务域模型 379

  35.1 信息系统的组成 379

  35.2 业务域模型 379

  35.3 在子系统中使用业务域模型 380

  35.4 采用访问者模式为业务对象增加操作 381

  35.5 小结 382

  第36章 委托技术与行为型设计模式 383

  36.1 封装变化与面向接口编程 383

  36.2 委托技术的使用场合 384

  36.3 采用委托技术实现的设计模式 384

  36.3.1 模板方法的结构 384

  36.3.2 策略模式 386

  36.3.3 中介者模式 387

  36.3.4 观察者模式 388

  36.4 用组合替代继承 389

  36.5 设计模式的发展 389

  36.6 小结 390

  第3篇 开源项目中的设计模式

  第37章 nunit中的设计模式 393

  37.1 nunit结构组成与设计模式 393

  37.2 简单工厂 394

  37.2.1 testcasebuilder 394

  37.2.2 testsuitebuilder 396

  37.3 组合模式 398

  37.3.1 测试结果 399

  37.4 模板方法--执行测试用例 400

  37.5 测试用例的动态绑定 403

  37.6 访问者模式 404

  37.7 装饰器模式 407

  37.7.1 封装textwriter 407

  37.7.2 作为treeview节点的test 408

  37.8 适配器模式 410

  37.9 观察者模式 411

  37.10 小结 414

  第38章 dotnetnuke中的设计模式 415

  38.1 dotnetnuke简介 415

  38.2 dotnetnuke与设计模式 415

  38.3 采用反射技术的工厂方法 416

  38.3.1 数据提供对象 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章 gentle中的设计模式 440

  39.1 模式一览 440

  39.2 采用反射的工厂方法 440

  39.3 抽象工厂--针对不同数据库的访问提供者 441

  39.4 组合模式--sql语句描述 445

  39.5 迭代器模式--自定义cache的访问 448

  39.6 外观模式 449

  39.7 小结 450

  第40章 log4net中的设计模式 451

  40.1 log4net介绍 451

  40.2 模式一览 451

  40.3 工厂方法 451

  40.3.1 iloggerfactory 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篇 模式与交流

  第41章 在组织中使用设计模式 467

  41.1 需求及其分析 467

  41.2 设计模式在组织中的作用 467

  41.3 将设计模式引入组织遇到的困难 468

  41.4 将设计模式引入组织的方法 469

  41.4.1 设定开发人员的知识体系 469

  41.4.2 建立合理的培训体制 469

  41.4.3 重视项目的重构 469

  41.4.4 逐渐将设计模式引入开发流程 470

  第42章 发掘模式 471

  42.1 为什么要发掘模式 471

  42.1.1 提高抽象能力 471

  42.1.2 提高书面表达能力 471

  42.1.3 有助于团队意识的培养 472

  42.2 发明还是发现 472

  42.3 模式的范围 473

  42.3.1 方言 473

  42.3.2 模式语言 473

  42.4 如何发现模式 473

  42.4.1 前提 473

  42.4.2 确定范围 473

  42.4.3 明确问题及其所处的上下文 474

  42.4.4 确定forces 474

  42.4.5 描述解决方案 475

  42.4.6 效果 475

  42.4.7 模式名称 476

  42.4.8 模式的其他部分 476

  42.5 模式的shepherd过程 476

  42.6 模式的workshop 476

  第43章 小组学习的范例--plop的workshop 477

  43.1 传统会议的不足 477

  43.2 plop workshop的组织形式 477

  43.3 plop workshop的优点 478

  43.4 组织自己的workshop 478

  第44章 模式的发展 479

  44.1 模式的书写方式和形成过程基本成熟 479

  44.2 模式覆盖的范围越来越广 479

  44.3 越来越多的领域产生模式语言 480

  44.4 模式发展的良性循环 480

  附录a 设计模式与设计模式组合速查 481

  参考文献 492

  后记 495

标签:

  • 关注微信
上一篇:燃爆竹
下一篇:悫诚

相关文章