《JavaScript设计模式》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:张容铭著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2015
  • ISBN:9787115396860
  • 页数:316 页
图书介绍:本书通过实例讲解JavaScript的典型模式应用,如简单工厂模式、工厂方法模式、抽象工厂模式、创建者模式、原型模式、单例模式、外观模式、适配器模式、代理模式、装饰模式、中介者模式、备忘录模式、迭代器模式、解释器模式、委托模式、访问数据对象模式、节流模式、链模式、参与者模式、等待者模式等,让读者在开发上提高效率。

第一篇 面向对象编程 2

第1章 灵活的语言——JavaScript 2

1.1 入职第一天 2

1.2 函数的另一种形式 2

1.3 用对象收编变量 3

1.4 对象的另一种形式 4

1.5 真假对象 4

1.6 类也可以 5

1.7 一个检测类 5

1.8 方法还可以这样用 6

1.9 函数的祖先 7

1.10 可以链式添加吗 8

1.11 换一种方式使用方法 9

下章剧透 10

忆之获 10

我问你答 10

第2章 写的都是看到的——面向对象编程 11

2.1 两种编程风格——面向过程与面向对象 11

2.2 包装明星——封装 12

2.3 传宗接代——继承 19

2.4 老师不止一位——多继承 27

2.5 多种调用方式——多态 29

下章剧透 30

忆之获 31

我问你答 31

第二篇 创建型设计模式 34

第3章 神奇的魔术师——简单工厂模式 34

3.1 工作中的第一次需求 34

3.2 如果类太多,那么提供一个 35

3.3 一个对象有时也可代替许多类 37

3.4 你的理解决定你选择的方式 38

下章剧透 39

忆之获 39

我问你答 39

第4章 给我一张名片——工厂方法模式 40

4.1 广告展现 40

4.2 方案的抉择 41

4.3 安全模式类 42

4.4 安全的工厂方法 43

下章剧透 44

忆之获 44

我问你答 44

第5章 出现的都是幻觉——抽象工厂模式 45

5.1 带头模范——抽象类 45

5.2 幽灵工厂——抽象工厂模式 46

5.3 抽象与实现 47

下章剧透 49

忆之获 49

我问你答 49

第6章 分即是合——建造者模式 50

6.1 发布简历 50

6.2 创建对象的另一种形式 50

6.3 创建一位应聘者 52

下章剧透 53

忆之获 53

我问你答 54

第7章 语言之魂——原型模式 55

7.1 语言中的原型 55

7.2 创建一个焦点图 55

7.3 最优的解决方案 56

7.4 原型的拓展 58

7.5 原型继承 58

下章剧透 59

忆之获 60

我问你答 60

第8章 一个人的寂寞——单例模式 61

8.1 滑动特效 61

8.2 命名空间的管理员 62

8.3 模块分明 63

8.4 创建一个小型代码库 63

8.5 无法修改的静态变量 64

8.6 惰性单例 65

下章剧透 65

忆之获 66

我问你答 66

第三篇 结构型设计模式 68

第9章 套餐服务——外观模式 68

9.1 添加一个点击事件 68

9.2 兼容方式 69

9.3 除此之外 70

9.4 小型代码库 70

下章剧透 71

忆之获 71

我问你答 72

第10章 水管弯弯——适配器模式 73

10.1 引入j Query 73

10.2 生活中的适配器 73

10.3 jQuery适配器 74

10.4 适配异类框架 74

10.5 参数适配器 75

10.6 数据适配 76

10.7 服务器端数据适配 77

下章剧透 77

忆之获 77

我问你答 78

第11章 牛郎织女——代理模式 79

11.1 无法获取图片上传模块数据 79

11.2 一切只因跨域 79

11.3 站长统计 80

11.4 JSONP 81

11.5 代理模板 81

下章剧透 83

忆之获 83

我问你答 84

第12章 房子装修——装饰者模式 85

12.1 为输入框的新需求 85

12.2 装饰已有的功能对象 86

12.3 为输入框添砖加瓦 86

下章剧透 87

忆之获 87

我问你答 88

第13章 城市间的公路——桥接模式 89

13.1 添加事件交互 89

13.2 提取共同点 90

13.3 事件与业务逻辑之间的桥梁 90

13.4 多元化对象 91

下章剧透 93

忆之获 93

我问你答 93

第14章 超值午餐——组合模式 94

14.1 新闻模块十万火急 94

14.2 餐厅里的套餐业务 95

14.3 每个成员要有祖先 95

14.4 组合要有容器类 96

14.5 创建一个新闻类 97

14.6 把新闻模块创建出来 99

14.7 表单中的应用 100

下章剧透 101

忆之获 101

我问你答 102

第15章 城市公交车——享元模式 103

15.1 翻页需求 103

15.2 冗余的结构 104

15.3 享元对象 104

15.4 实现需求 105

15.5 享元动作 106

下章剧透 108

忆之获 108

我问你答 108

第四篇 行为型设计模式 110

第16章 照猫画虎——模板方法模式 110

16.1 提示框归一化 110

16.2 美味的蛋糕 111

16.3 创建基本提示框 111

16.4 模板的原型方法 112

16.5 根据模板创建类 113

16.6 继承类也可作为模板类 113

16.7 创建一个提示框 114

16.8 创建多类导航 114

16.9 创建导航更容易 116

下章剧透 116

忆之获 116

我问你答 117

第17章 通信卫星——观察者模式 118

17.1 团队开发的坎坷 118

17.2 卫星的故事 118

17.3 创建一个观察者 119

17.4 拉出来溜溜 121

17.5 使用前的思考 121

17.6 大显身手 121

17.7 对象间解耦 123

17.8 课堂演练 124

下章剧透 125

忆之获 125

我问你答 125

第18章 超级玛丽——状态模式 126

18.1 最美图片 126

18.2 分支判断的思考 126

18.3 状态对象的实现 127

18.4 状态对象演练 127

18.5 超级玛丽 128

18.6 状态的优化 129

18.7 两种使用方式 130

下章剧透 131

忆之获 131

我问你答 131

第19章 活诸葛——策略模式 132

19.1 商品促销 132

19.2 活诸葛 132

19.3 策略对象 133

19.4 诸葛奇谋 133

19.5 缓冲函数 134

19.6 表单验证 134

19.7 算法拓展 135

19.8 算法调用 135

下章剧透 136

忆之获 136

我问你答 137

第20章 有序车站——职责链模式 138

20.1 “半成品”需求 138

20.2 分解需求 139

20.3 第一站——请求模块 139

20.4 下一站——响应数据适配模块 140

20.5 终点站——创建组件模块 141

20.6 站点检测——单元测试 141

20.7 方案确定 142

下章剧透 142

忆之获 143

我问你答 143

第21章 命令模式 144

21.1 自由化创建视图 144

21.2 命令对象 145

21.3 视图创建 145

21.4 视图展示 146

21.5 命令接口 147

21.6 大功告成 147

21.7 绘图命令 148

21.8 写一条命令 150

下章剧透 150

忆之获 151

我问你答 151

第22章 驻华大使——访问者模式 152

22.1 设置样式 152

22.2 自娱自乐的IE 152

22.3 访问操作元素 153

22.4 事件自定义数据 153

22.5 原生对象构造器 154

22.6 对象访问器 154

22.7 操作类数组 155

下章剧透 156

忆之获 156

我问你答 156

第23章 媒婆——中介者模式 157

23.1 导航设置层 157

23.2 创建中介者对象 158

23.3 试试看,可否一用 159

23.4 攻克需求 159

23.5 订阅消息 160

23.6 发布消息 161

下章剧透 162

忆之获 162

我问你答 162

第24章 做好笔录——备忘录模式 163

24.1 新闻展示 163

24.2 缓存数据 164

24.3 新闻缓存器 164

24.4 工作中的备忘录 166

下章剧透 166

忆之获 166

我问你答 166

第25章 点钞机——迭代器模式 167

25.1 简化循环遍历 167

25.2 迭代器 167

25.3 实现迭代器 168

25.4 小试牛刀 170

25.5 数组迭代器 171

25.6 对象迭代器 171

25.7 试用迭代器 172

25.8 同步变量迭代器 172

25.9 分支循环嵌套问题 174

25.10 解决方案 176

下章剧透 177

忆之获 177

我问你答 177

第26章 语言翻译——解释器模式 178

26.1 统计元素路径 178

26.2 描述文法 179

26.3 解释器 179

26.4 同级兄弟元素遍历 180

26.5 遍历文档树 180

26.6 小试牛刀 181

下章剧透 182

忆之获 182

我问你答 182

第五篇 技巧型设计模式 184

第27章 永无尽头——链模式 184

27.1 深究jQuery 184

27.2 原型式继承 184

27.3 找位助手 185

27.4 获取元素 185

27.5 一个大问题 186

27.6 覆盖获取 187

27.7 方法丢失 187

27.8 对比jQuery 188

27.9 丰富元素获取 189

27.10 数组与对象 190

27.11 方法拓展 191

27.12 添加方法 192

27.13 大功告成 195

下章剧透 196

忆之获 196

我问你答 196

第28章 未来预言家——委托模式 197

28.1 点击日历交互 197

28.2 委托父元素 197

28.3 预言未来 198

28.4 内存外泄 199

28.5 数据分发 200

下章剧透 201

忆之获 201

我问你答 201

第29章 数据管理器——数据访问对象模式 202

29.1 用户引导 202

29.2 数据访问对象类 203

29.3 数据操作状态 203

29.4 增添数据 204

29.5 查找数据 205

29.6 删除数据 206

29.7 检验DAO 207

29.8 MongoDB 208

29.9 在nodej s中写入配置项 208

29.10 连接MongoDB 208

29.11 操作集合 209

29.12 插入操作 209

29.13 删除操作 210

29.14 更新操作 211

29.15 查找操作 211

29.16 操作其他集合 212

下章剧透 212

忆之获 212

我问你答 213

第30章 执行控制——节流模式 214

30.1 返回顶部 214

30.2 节流器 214

30.3 优化浮层 216

30.4 创建浮层类 216

30.5 添加节流器 217

30.6 图片的延迟加载 218

30.7 延迟加载图片类 218

30.8 获取容器内的图片 219

30.9 加载图片 220

30.10 筛选需加载的图片 220

30.11 获取纵坐标 221

30.12 节流器优化加载 221

30.13 大功告成 222

30.14 统计打包 222

30.15 组装统计 222

下章剧透 224

忆之获 224

我问你答 224

第31章 卡片拼图——简单模板模式 225

31.1 展示模板 225

31.2 实现方案 225

31.3 创建文字列表视图 226

31.4 新方案 227

31.5 再次优化 228

31.6 模板生成器 228

31.7 最佳方案 229

下章剧透 229

忆之获 230

我问你答 230

第32章 机器学习——惰性模式 231

32.1 对事件的思考 231

32.2 机器学习 232

32.3 加载即执行 232

32.4 惰性执行 233

32.5 创建XHR对象 233

32.6 第一种方案 234

32.7 第二种方案 235

下章剧透 235

忆之获 235

我问你答 235

第33章 异国战场——参与者模式 236

33.1 传递数据 236

33.2 函数绑定 237

33.3 应用于事件 238

33.4 原生bind方法 239

33.5 函数柯里化 239

33.6 重构bind 240

33.7 兼容版本 241

下章剧透 242

忆之获 242

我问你答 243

第34章 入场仪式——等待者模式 244

34.1 接口拆分 244

34.2 入场仪式 244

34.3 等待者对象 245

34.4 监控对象 246

34.5 完善接口方法 247

34.6 学以致用 248

34.7 异步方法 248

34.8 结果如何 249

34.9 框架中的等待者 250

34.10 封装异步请求 250

34.11 轮询 251

下章剧透 251

忆之获 251

我问你答 252

第六篇 架构型设计模式 254

第35章 死心眼——同步模块模式 254

35.1 排队开发 254

35.2 模块化开发 255

35.3 模块管理器与创建方法 255

35.4 创建模块 256

35.5 模块调用方法 258

35.6 调用模块 259

下章剧透 259

忆之获 260

我问你答 260

第36章 大心脏——异步模块模式 261

36.1 异步加载文件中的模块 261

36.2 异步模块 262

36.3 闭包环境 262

36.4 创建与调度模块 263

36.5 加载模块 264

36.6 设置模块 265

36.7 学以致用 266

36.8 实现交互 267

下章剧透 267

忆之获 267

我问你答 267

第37章 分而治之——Widget模式 268

37.1 视图模块化 268

37.2 模板引擎 269

37.3 实现原理 269

37.4 模板引擎模块 269

37.5 处理数据 270

37.6 获取模板 270

37.7 处理模板 271

37.8 编译执行 272

37.9 几种模板 273

37.10 实现组件 274

下章剧透 274

忆之获 275

我问你答 275

第38章 三人行——MVC模式 276

38.1 小白的顾虑 276

38.2 一个传说——MVC 276

38.3 数据层 277

38.4 视图层 278

38.5 控制器 279

38.6 侧边导航栏 279

38.7 侧边导航栏数据模型层 280

38.8 侧边导航栏视图层 281

38.9 侧边导航栏控制器层 282

38.10 执行控制器 284

38.11 增加一个模块 284

下章剧透 285

忆之获 285

我问你答 286

第39章 三军统帅——MVP模式 287

39.1 数据模型层与视图层联姻的代价 287

39.2 MVP模式 287

39.3 数据层的填补 288

39.4 视图层的大刀阔斧 289

39.5 模板创建的分层处理 289

39.6 处理一个元素 291

39.7 改头换面的管理器 292

39.8 一个案例 293

39.9 用数据装扮导航 293

39.10 千呼万唤始出来的导航 294

39.11 模块开发中的应用 294

39.12 MVP构造函数 295

39.13 增添管理器 295

39.14 增加一个模块 295

下章剧透 297

忆之获 297

我问你答 297

第40章 视图的逆袭——MWM模式 298

40.1 视图层的思考 298

40.2 滚动条与进度条 299

40.3 组件的探讨 299

40.4 视图模型层 299

40.5 创建进度条 300

40.6 创建滑动条 301

40.7 让滑动条动起来 302

40.8 为组件点睛 303

40.9 寻找我的组件 303

40.10 展现组件 304

下章剧透 304

忆之获 304

我问你答 305

附录A 307