Android 源码设计模式解析与实战

Android 源码设计模式解析与实战
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2015-11
版次: 1
ISBN: 9787115406712
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 494页
字数: 441千字
正文语种: 简体中文
原版书名: Android Source:Design Patterns Analysis&Practice
  •   MVP模式。主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、命令模式、观察者模式、备忘录模式、迭代器模式、模板方法模式、访问者模式、中介者模式、代理模式、组合模式、适配器模式、装饰模式、享元模式、外观模式、桥接模式,以及MVC的介绍与实战和MVP应用架构模式。每个章节都对某个模式做了深入的分析,并且会对模式相关的技术点进行深入拓展,让读者在掌握模式的同时学习到Android中的一些重要知识,通过实战帮助读者达到学以致用的目的,且能够将模式运用于项目中,开发出高质量的程序。
      《Android 源码设计模式解析与实战》适合的读者为初、中、高级Android工程师,也可以作为大专院校相关师生的学习用书和培训学校的教材。
    CSDN博客专家,在开源社区做了大量的工作,贡献了许多模式设计的技术。 第1章 走向灵活软件之路——
    面向对象的六大原则 1
    1.1 优化代码的第一步——
    单一职责原则 1
    1.2 让程序更稳定、更灵活——
    开闭原则 5
    1.3 构建扩展性更好的系统——
    里氏替换原则 12
    1.4 让项目拥有变化的能力——
    依赖倒置原则 13
    1.5 系统有更高的灵活性——
    接口隔离原则 16
    1.6 更好的可扩展性——
    迪米特原则 18
    1.7 总结 22
    第2章 应用最广的模式——单例模式 23
    2.1 单例模式介绍 23
    2.2 单例模式的定义 23
    2.3 单例模式的使用场景 23
    2.4 单例模式UML类图 23
    2.5 单例模式的简单示例 24
    2.6 单例模式的其他实现方式 26
    2.6.1 懒汉模式 26
    2.6.2 Double CheckLock ( DCL )
    实现单例 26
    2.6.3 静态内部类单例模式 27
    2.6.4 枚举单例 28
    2.6.5 使用容器实现单例模式 28
    2.7 Android源码中的单例模式 29
    2.8 无名英雄——深入理解
    LayoutInflater 33
    2.9 运用单例模式 40
    2.10 总结 42
    第3章 自由扩展你的项目——
    Builder模式 43
    3.1 Builder模式介绍 43
    3.2 Builder模式的定义 43
    3.3 Builder模式的使用场景 43
    3.4 Builder模式的UML类图 43
    3.5 Builder模式的简单实现 44
    3.6 Android源码中的Builder模式实现 46
    3.7 深入了解WindowManager 52
    3.8 Builder模式实战 59
    3.9 总结 64
    第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 关于onCreate方法 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 总结 116
    第7章 时势造英雄——策略模式 117
    7.1 策略模式介绍 117
    7.2 策略模式的定义 117
    7.3 策略模式的使用场景 117
    7.4 策略模式的UML类图 118
    7.5 策略模式的简单实现 118
    7.6 Android源码中的策略模式实现 123
    7.6.1 时间插值器 123
    7.6.2 动画中的时间插值器 124
    7.7 深入属性动画 128
    7.7.1 属性动画体系的总体设计 128
    7.7.2 属性动画的核心类介绍 128
    7.7.3 基本使用 129
    7.7.4 流程图 130
    7.7.5 详细设计 131
    7.7.6 核心原理分析 131
    7.8 策略模式实战应用 142
    7.9 总结 144
    第8章 随遇而安——状态模式 145
    8.1 状态模式介绍 145
    8.2 状态模式的定义 145
    8.3 状态模式的使用场景 145
    8.4 状态模式的UML类图 145
    8.5 状态模式的简单示例 146
    8.6 Wi-Fi管理中的状态模式 150
    8.7 状态模式实战 159
    8.8 总结 164
    第9章 使编程更有灵活性——
    责任链模式 165
    9.1 责任链模式介绍 165
    9.2 责任链模式的定义 165
    9.3 责任链模式的使用场景 165
    9.4 责任链模式的UML类图 165
    9.5 责任链模式的简单实现 170
    9.6 Android源码中的责任链模式实现 173
    9.7 责任链模式实战 178
    9.8 总结 181
    第10章 化繁为简的翻译机——
    解释器模式 182
    10.1 解释器模式介绍 182
    10.2 解释器模式的定义 182
    10.3 解释器模式的使用场景 183
    10.4 解释器模式的UML类图 184
    10.5 解释器模式的简单实现 185
    10.6 Android源码中的解释器模式实现 189
    10.7 关于PackageManagerService 195
    10.8 总结 203
    第11章 让程序畅通执行——
    命令模式 204
    11.1 命令模式介绍 204
    11.2 命令模式的定义 204
    11.3 命令模式的使用场景 204
    11.4 命令模式的UML类图 204
    11.5 命令模式的简单实现 207
    11.6 Android源码中的命令模式实现 211
    11.7 Android事件输入系统介绍 214
    11.8 命令模式实战 216
    11.9 总结 223
    第12章 解决、解耦的钥匙——
    观察者模式 224
    12.1 观察者模式介绍 224
    12.2 观察者模式的定义 224
    12.3 观察者模式的使用场景 224
    12.4 观察者模式的UML类图 224
    12.5 观察者模式的简单实现 225
    12.6 Android源码分析 227
    12.7 观察者模式的深入拓展 230
    12.8 实战 238
    12.9 总结 245
    第13章 编程中的“后悔药”——
    备忘录模式 247
    13.1 备忘录模式介绍 247
    13.2 备忘录模式的定义 247
    13.3 备忘录模式的使用场景 247
    13.4 备忘录模式的UML类图 247
    13.5 备忘录模式的简单示例 248
    13.6 Android源码中的备忘录模式 250
    13.7 深度拓展 257
    13.7.1 onSaveInstanceState调用
    的时机 257
    13.7.2 使用V4包存储状态的bug 257
    13.8 实战 260
    13.9 总结 267
    第14章 解决问题的“第三者”——
    迭代器模式 268
    14.1 迭代器模式介绍 268
    14.2 迭代器模式的定义 268
    14.3 迭代器模式的使用场景 268
    14.4 迭代器模式的UML类图 268
    14.5 模式的简单实现 271
    14.6 Android源码中的模式实现 275
    14.7 总结 277
    第15章 抓住问题核心——
    模板方法模式 278
    15.1 模板方法模式介绍 278
    15.2 模板方法模式的定义 278
    15.3 模板方法模式的使用场景 278
    15.4 模板方法模式的UML类图 278
    15.5 模板方法模式的简单示例 279
    15.6 Android源码中的模板方法模式 281
    15.7 深度拓展 283
    15.8 模板方法实战 296
    15.9 总结 299
    第16章 访问者模式 301
    16.1 访问者模式介绍 301
    16.2 访问者模式的定义 301
    16.3 访问者模式的使用场景 301
    16.4 访问者模式的UML类图 301
    16.5 访问者模式的简单示例 302
    16.6 Android源码中的模式 306
    16.7 访问者模式实战 309
    16.8 总结 316
    第17章 “和事佬”——中介者模式 317
    17.1 中介者模式介绍 317
    17.2 中介者模式的定义 318
    17.3 中介者模式的使用场景 318
    17.4 中介者模式的UML类图 318
    17.5 中介者模式的简单实现 320
    17.6 Android源码中的中介者模式实现 324
    17.7 中介者模式实战 326
    17.8 总结 329
    第18章 编程好帮手——代理模式 330
    18.1 代理模式介绍 330
    18.2 代理模式的定义 330
    18.3 代理模式的使用场景 330
    18.4 代理模式的UML类图 330
    18.5 代理模式的简单实现 332
    18.6 Android源码中的代理模式实现 336
    18.7 Android中的Bin
  • 内容简介:
      MVP模式。主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、命令模式、观察者模式、备忘录模式、迭代器模式、模板方法模式、访问者模式、中介者模式、代理模式、组合模式、适配器模式、装饰模式、享元模式、外观模式、桥接模式,以及MVC的介绍与实战和MVP应用架构模式。每个章节都对某个模式做了深入的分析,并且会对模式相关的技术点进行深入拓展,让读者在掌握模式的同时学习到Android中的一些重要知识,通过实战帮助读者达到学以致用的目的,且能够将模式运用于项目中,开发出高质量的程序。
      《Android 源码设计模式解析与实战》适合的读者为初、中、高级Android工程师,也可以作为大专院校相关师生的学习用书和培训学校的教材。
  • 作者简介:
    CSDN博客专家,在开源社区做了大量的工作,贡献了许多模式设计的技术。
  • 目录:
    第1章 走向灵活软件之路——
    面向对象的六大原则 1
    1.1 优化代码的第一步——
    单一职责原则 1
    1.2 让程序更稳定、更灵活——
    开闭原则 5
    1.3 构建扩展性更好的系统——
    里氏替换原则 12
    1.4 让项目拥有变化的能力——
    依赖倒置原则 13
    1.5 系统有更高的灵活性——
    接口隔离原则 16
    1.6 更好的可扩展性——
    迪米特原则 18
    1.7 总结 22
    第2章 应用最广的模式——单例模式 23
    2.1 单例模式介绍 23
    2.2 单例模式的定义 23
    2.3 单例模式的使用场景 23
    2.4 单例模式UML类图 23
    2.5 单例模式的简单示例 24
    2.6 单例模式的其他实现方式 26
    2.6.1 懒汉模式 26
    2.6.2 Double CheckLock ( DCL )
    实现单例 26
    2.6.3 静态内部类单例模式 27
    2.6.4 枚举单例 28
    2.6.5 使用容器实现单例模式 28
    2.7 Android源码中的单例模式 29
    2.8 无名英雄——深入理解
    LayoutInflater 33
    2.9 运用单例模式 40
    2.10 总结 42
    第3章 自由扩展你的项目——
    Builder模式 43
    3.1 Builder模式介绍 43
    3.2 Builder模式的定义 43
    3.3 Builder模式的使用场景 43
    3.4 Builder模式的UML类图 43
    3.5 Builder模式的简单实现 44
    3.6 Android源码中的Builder模式实现 46
    3.7 深入了解WindowManager 52
    3.8 Builder模式实战 59
    3.9 总结 64
    第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 关于onCreate方法 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 总结 116
    第7章 时势造英雄——策略模式 117
    7.1 策略模式介绍 117
    7.2 策略模式的定义 117
    7.3 策略模式的使用场景 117
    7.4 策略模式的UML类图 118
    7.5 策略模式的简单实现 118
    7.6 Android源码中的策略模式实现 123
    7.6.1 时间插值器 123
    7.6.2 动画中的时间插值器 124
    7.7 深入属性动画 128
    7.7.1 属性动画体系的总体设计 128
    7.7.2 属性动画的核心类介绍 128
    7.7.3 基本使用 129
    7.7.4 流程图 130
    7.7.5 详细设计 131
    7.7.6 核心原理分析 131
    7.8 策略模式实战应用 142
    7.9 总结 144
    第8章 随遇而安——状态模式 145
    8.1 状态模式介绍 145
    8.2 状态模式的定义 145
    8.3 状态模式的使用场景 145
    8.4 状态模式的UML类图 145
    8.5 状态模式的简单示例 146
    8.6 Wi-Fi管理中的状态模式 150
    8.7 状态模式实战 159
    8.8 总结 164
    第9章 使编程更有灵活性——
    责任链模式 165
    9.1 责任链模式介绍 165
    9.2 责任链模式的定义 165
    9.3 责任链模式的使用场景 165
    9.4 责任链模式的UML类图 165
    9.5 责任链模式的简单实现 170
    9.6 Android源码中的责任链模式实现 173
    9.7 责任链模式实战 178
    9.8 总结 181
    第10章 化繁为简的翻译机——
    解释器模式 182
    10.1 解释器模式介绍 182
    10.2 解释器模式的定义 182
    10.3 解释器模式的使用场景 183
    10.4 解释器模式的UML类图 184
    10.5 解释器模式的简单实现 185
    10.6 Android源码中的解释器模式实现 189
    10.7 关于PackageManagerService 195
    10.8 总结 203
    第11章 让程序畅通执行——
    命令模式 204
    11.1 命令模式介绍 204
    11.2 命令模式的定义 204
    11.3 命令模式的使用场景 204
    11.4 命令模式的UML类图 204
    11.5 命令模式的简单实现 207
    11.6 Android源码中的命令模式实现 211
    11.7 Android事件输入系统介绍 214
    11.8 命令模式实战 216
    11.9 总结 223
    第12章 解决、解耦的钥匙——
    观察者模式 224
    12.1 观察者模式介绍 224
    12.2 观察者模式的定义 224
    12.3 观察者模式的使用场景 224
    12.4 观察者模式的UML类图 224
    12.5 观察者模式的简单实现 225
    12.6 Android源码分析 227
    12.7 观察者模式的深入拓展 230
    12.8 实战 238
    12.9 总结 245
    第13章 编程中的“后悔药”——
    备忘录模式 247
    13.1 备忘录模式介绍 247
    13.2 备忘录模式的定义 247
    13.3 备忘录模式的使用场景 247
    13.4 备忘录模式的UML类图 247
    13.5 备忘录模式的简单示例 248
    13.6 Android源码中的备忘录模式 250
    13.7 深度拓展 257
    13.7.1 onSaveInstanceState调用
    的时机 257
    13.7.2 使用V4包存储状态的bug 257
    13.8 实战 260
    13.9 总结 267
    第14章 解决问题的“第三者”——
    迭代器模式 268
    14.1 迭代器模式介绍 268
    14.2 迭代器模式的定义 268
    14.3 迭代器模式的使用场景 268
    14.4 迭代器模式的UML类图 268
    14.5 模式的简单实现 271
    14.6 Android源码中的模式实现 275
    14.7 总结 277
    第15章 抓住问题核心——
    模板方法模式 278
    15.1 模板方法模式介绍 278
    15.2 模板方法模式的定义 278
    15.3 模板方法模式的使用场景 278
    15.4 模板方法模式的UML类图 278
    15.5 模板方法模式的简单示例 279
    15.6 Android源码中的模板方法模式 281
    15.7 深度拓展 283
    15.8 模板方法实战 296
    15.9 总结 299
    第16章 访问者模式 301
    16.1 访问者模式介绍 301
    16.2 访问者模式的定义 301
    16.3 访问者模式的使用场景 301
    16.4 访问者模式的UML类图 301
    16.5 访问者模式的简单示例 302
    16.6 Android源码中的模式 306
    16.7 访问者模式实战 309
    16.8 总结 316
    第17章 “和事佬”——中介者模式 317
    17.1 中介者模式介绍 317
    17.2 中介者模式的定义 318
    17.3 中介者模式的使用场景 318
    17.4 中介者模式的UML类图 318
    17.5 中介者模式的简单实现 320
    17.6 Android源码中的中介者模式实现 324
    17.7 中介者模式实战 326
    17.8 总结 329
    第18章 编程好帮手——代理模式 330
    18.1 代理模式介绍 330
    18.2 代理模式的定义 330
    18.3 代理模式的使用场景 330
    18.4 代理模式的UML类图 330
    18.5 代理模式的简单实现 332
    18.6 Android源码中的代理模式实现 336
    18.7 Android中的Bin
查看详情