基本*息
书名:Android 源码设 模式 析 实战 2版
定价:99.00元
作者:何红辉 关爱
出版社:人 邮电出版社
出版*期:2017-06-01
ISBN:9787115452962
字数:
页码:
版次:1
装帧: 装-胶订
开本:16开
商品重量:0.4kg
编辑推荐
CSDN社区 家 撰写、 界 家 凡 、郭霖、任玉刚、徐宜*等鼎力推荐 界 1本Android源码讲 设 模式的书本书不仅分析了Android源 码的设 模式,更结合实例演示了如何使用这些设 模式。看这本书,既 学到如何分析、学习Android源 码,又 提高自己架构设 * 书中的 人 小 就是那些不断追求技* 步,从而得以不断成 的IT技*人的 表,小 的成 过程基本 映了我们现在程序员的成 经历, 的成 很值得我们学习 借鉴。
内容提要
本书 门介绍Android源 码的设 模式, 要讲 面向 象的六 原则、 流的设 模式以及MVC MVP模式。本书的 要内容为:优化 码的*步、开闭原则、里氏替换原则、依赖 置原则、接 隔离原则、迪米 原则、 例模式、Builder模式、原型模式、 厂方法模式、抽象 厂模式、策略模式、状态模式、责任 模式、 释 模式、命令模式、观察者模式、备忘录模式、迭 模式、模板方法模式、 问者模式、中介者模式、 理模式、 合模式、适 模式、装饰模式、享元模式、 观模式、桥接模式,以及MVC的介绍 实战 MVP应用架构模式。每个章节都 某个模式 了深入分析,并且会 模式相关的技*点 行深入拓展,让读者在 握模式的 时学习到Android中的一些重要知识, 过实战 助读者 到学以致用的目的,且 够 模式运用于项目中,开发出高质量的程序。本书适合的读者为初、中、高级Android 程师,也可以作为 院校相关师*的学习用书 培训学校的 材。
目录
目 录
1章 走向灵活软 之路——
面向 象的六 原则 1
1.1 优化 码的步—— 一职责原则 1
1.2 让程序更稳定、更灵活——开闭原则 5
1.3 构建扩展*更好的 统——
里氏替换原则 12
1.4 让项目拥有变化的 力——
依赖 置原则 14
1.5 统有更高的灵活*——
接 隔离原则 16
1.6 更好的可扩展*——迪米 原则 19
1.7 小结 23
2章 应用 的模式—— 例模式 24
2.1 例模式介绍 24
2.2 例模式的定义 24
2.3 例模式的使用场景 24
2.4 例模式UML类图 24
2.5 例模式的简 示例 25
2.6 例模式的其 实现方式 27
2.6.1 懒汉模式 27
2.6.2 Double Check Lock (DCL)实现
例 27
2.6.3 静态内部类 例模式 28
2.6.4 枚举 例 29
2.6.5 使用容 实现 例模式 30
2.7 Android源码中的 例模式 30
2.8 无名英雄——深入理 LayoutInfl*er 34
2.9 运用 例模式 41
2.10 小结 43
3章 自由扩展你的项目——
Builder模式 44
3.1 Builder模式介绍 44
3.2 Builder模式的定义 44
3.3 Builder模式的使用场景 44
3.4 Builder模式的UML类图 44
3.5 Builder模式的简 实现 45
3.6 Android源码中的Builder模式实现 47
3.7 深入了 WindowManager 53
3.8 Builder模式实战 60
3.9 小结 65
4章 使程序运行更高效——原型模式 66
4.1 原型模式介绍 66
4.2 原型模式的定义 66
4.3 原型模式的使用场景 66
4.4 原型模式的UML类图 66
4.5 原型模式的简 实现 67
4.6 浅拷贝 深拷贝 69
4.7 Android源码中的原型模式实现 72
4.8 Intent的查找 匹 74
4.8.1 App*息表的构建 74
4.8.2 匹 80
4.9 原型模式实战 83
4.10 小结 85
5章 应用 泛的模式——
厂方法模式 87
5.1 厂方法模式介绍 87
5.2 厂方法模式的定义 87
5.3 厂方法模式的使用场景 87
5.4 厂方法模式的UML类图 87
5.5 模式的简 实现 90
5.6 Android源码中的 厂方法模式实现 93
5.7 关于onCre*e方法 95
5.8 厂方法模式实战 102
5.9 小结 105
6章 创建型设 模式——
抽象 厂模式 106
6.1 抽象 厂模式介绍 106
6.2 抽象 厂模式的定义 106
6.3 抽象 厂模式的使用场景 106
6.4 抽象 厂模式的UML类图 106
6.5 抽象 厂方法模式的简 实现 109
6.6 Android源码中的抽象 厂方法模式
实现 112
6.7 抽象 厂模式在Android开发中的
应用 116
6.8 小结 120
7章 时势造英雄——策略模式 121
7.1 策略模式介绍 121
7.2 策略模式的定义 121
7.3 策略模式的使用场景 121
7.4 策略模式的UML类图 122
7.5 策略模式的简 实现 122
7.6 Android源码中的策略模式实现 127
7.6.1 时间*值 127
7.6.2 动 中的时间*值 128
7.7 深入属*动 132
7.7.1 属*动 的 设 132
7.7.2 属*动 的核 类介绍 132
7.7.3 基本使用 133
7.7.4 流程图 134
7.7.5 详细设 135
7.7.6 核 原理分析 135
7.8 策略模式实战应用 146
7.9 小结 148
8章 遇而安——状态模式 149
8.1 状态模式介绍 149
8.2 状态模式的定义 149
8.3 状态模式的使用场景 149
8.4 状态模式的UML类图 149
8.5 状态模式的简 示例 150
8.6 Wi-Fi管理中的状态模式 154
8.7 状态模式实战 163
8.8 小结 168
9章 使编程更有灵活*——
责任 模式 169
9.1 责任 模式介绍 169
9.2 责任 模式的定义 169
9.3 责任 模式的使用场景 169
9.4 责任 模式的UML类图 169
9.5 责任 模式的简 实现 174
9.6 Android源码中的责任 模式实现 177
9.7 责任 模式实战 182
9.8 小结 185
10章 化繁为简的翻译 ——
释 模式 186
10.1 释 模式介绍 186
10.2 释 模式的定义 186
10.3 释 模式的使用场景 187
10.4 释 模式的UML类图 188
10.5 释 模式的简 实现 189
10.6 Android源码中的 释 模式实现 193
10.7 关于PackageManagerService 199
10.8 小结 207
11章 让程序畅 执行——命令模式 208
11.1 命令模式介绍 208
11.2 命令模式的定义 208
11.3 命令模式的使用场景 208
11.4 命令模式的UML类图 208
11.5 命令模式的简 实现 211
11.6 Android源码中的命令模式实现 215
11.7 Android事 输入 统介绍 218
11.8 命令模式实战 220
11.9 小结 227
12章 决 耦的钥匙——
观察者模式 228
12.1 观察者模式介绍 228
12.2 观察者模式的定义 228
12.3 观察者模式的使用场景 228
12.4 观察者模式的UML类图 228
12.5 观察者模式的简 实现 229
12.6 Android源码分析 231
12.7 观察者模式的深入拓展 234
12.8 实战 242
12.9 小结 249
13章 编程中的“后悔药”——
备忘录模式 251
13.1 备忘录模式介绍 251
13.2 备忘录模式的定义 251
13.3 备忘录模式的使用场景 251
13.4 备忘录模式的UML类图 251
13.5 备忘录模式的简 示例 252
13.6 Android源码中的备忘录模式 254
13.7 深度拓展 261
13.7.1 onSaveInstanceSt*e 用的
时 261
13.7.2 使用V4 存储状态的bug 261
13.8 实战 264
13.9 小结 271
14章 决问题的“ 三者”——
迭 模式 272
14.1 迭 模式介绍 272
14.2 迭 模式的定义 272
14.3 迭 模式的使用场景 272
14.4 迭 模式的UML类图 272
14.5 模式的简 实现 275
14.6 Android源码中的模式实现 279
14.7 小结 281
15章 抓住问题核 ——
模板方法模式 282
15.1 模板方法模式介绍 282
15.2 模板方法模式的定义 282
15.3 模板方法模式的使用场景 282
15.4 模板方法模式的UML类图 282
15.5 模板方法模式的简 示例 283
15.6 Android源码中的模板方法模式 285
15.7 深度拓展 287
15.8 模板方法实战 300
15.9 小结 303
16章 问者模式 305
16.1 问者模式介绍 305
16.2 问者模式的定义 305
16.3 问者模式的使用场景 305
16.4 问者模式的UML类图 305
16.5 问者模式的简 示例 306
16.6 Android源码中的模式 311
16.7 问者模式实战 314
16.8 小结 320
17章 “ 事佬”——中介者模式 321
17.1 中介者模式介绍 321
17.2 中介者模式的定义 322
17.3 中介者模式的使用场景 322
17.4 中介者模式的UML类图 322
17.5 中介者模式的简 实现 324
17.6 Android源码中的中介者模式实现 328
17.7 中介者模式实战 330
17.8 小结 333
18章 编程好 手—— 理模式 334
18.1 理模式介绍 334
18.2 理模式的定义 334
18.3 理模式的使用场景 334
18.4 理模式的UML类图 334
18.5 理模式的简 实现 336
18.6 Android源码中的 理模式实现 340
18.7 Android中的Binder跨 程 *
AIDL 344
18.8 理模式实战 355
18.9 小结 359
19章 物以类聚—— 合模式 360
19.1 合模式介绍 360
19.2 合模式的定义 361
19.3 合模式的使用场景 361
19.4 合模式的UML类图 361
19.5 合模式的简 实现 367
19.6 Android源码中的模式实现 371
19.7 为什么ViewGroup有容 的 372
19.8 小结 374
20章 得 应手的“粘合剂”——适
模式 375
20.1 适 模式介绍 375
20.2 适 模式的定义 375
20.3 适 模式的使用场景 375
20.4 适 模式的UML类图 375
20.5 适 模式应用的简 示例 376
20.5.1 类适 模式 376
20.5.2 象适 模式 377
20.6 Android源码中的适 模式 379
20.7 深度拓展 385
20.8 实战演示 398
20.9 小结 407
21章 装饰模式 408
21.1 装饰模式介绍 408
21.2 装饰模式的定义 408
21.3 装饰模式的使用场景 408
21.4 装饰模式的UML类图 408
21.5 模式的简 实现 411
21.6 Android源码中的模式实现 413
21.7 Context ContextImpl 415
21.8 模式实战 423
21.9 小结 424
22章 象 享,避免创建多 象——
享元模式 425
22.1 享元模式介绍 425
22.2 享元模式定义 425
22.3 享元模式的使用场景 425
22.4 享元模式的UML类图 425
22.5 享元模式的简 示例 426
22.6 Android源码中的享元模式 429
22.7 深度拓展 434
22.7.1 深入了 Android的消息
434
22.7.2 子线程中创建Handler为何会抛出异常 443
22.8 小结 444
23章 统一编程接 —— 观模式 445
23.1 观模式介绍 445
23.2 观模式定义 445
23.3 观模式的使用场景 445
23.4 观模式的UML类图 445
23.5 观模式的简 示例 446
23.6 Android源码中的 观模式 448
23.7 深度拓展 452
23.7.1 Android 源的加载 匹 452
23.7.2 动态加载框架的实现 459
23.8 观模式实战 466
23.9 小结 468
24章 接 的交 枢钮——
桥接模式 470
24.1 桥接模式介绍 470
24.2 桥接模式的定义 470
24.3 桥接模式的使用场景 470
24.4 桥接模式的UML类图 470
24.5 桥接模式的简 实现 472
24.6 Android源码中的桥接模式实现 475
24.7 关于WindowManagerService 476
24.8 桥接模式实战 484
24.9 小结 487
25章 MVC的介绍 实战 488
25.1 MVC的历史 结构的演化 488
25.2 MVC的应用浅析 494
25.3 MVC在Android中的实现 499
25.4 MVC框架模式 设 模式 503
26章 MVP应用架构模式 504
26.1 MVP模式介绍 504
26.2 MVP模式的三个角 505
26.3 Navig*ionView中的MVP模式 505
26.4 MVP的实现 513
26.5 MVP A*ivity、Fragment的*命
周期 517
27章 MVVM应用浅析 520
27.1 MVVM模式介绍 520
27.2 MVVM的基本结构 521
27.3 View ViewModel之间的交互 522
27.4 MVVM在Android中的应用 D*aBinding使用浅析 523
27.5 MVVM的优缺点 530
27.6 MVC、MVP MVVM的异 530
27.7 小结 531
28章 易混淆的设 模式 532
28.1 简 厂、 厂方法、抽象 厂、
Builder模式的区别 532
28.2 理 装饰模式、桥接模式 538
28.3 观模式 中介模式 543
28.4 策略 状态模式、命令模式 547
28.5 结束语 553
作者介绍
*旗下 盟的高级程序员,CSDN 家,在开源社区 了 量的 作,贡献了许多模式设 的技*。
*摘
序言