Android 源码设计模式:解析与实战 PDF 高清电子书 免费下载 完整版 在线阅读- 高飞网
Android 源码设计模式

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

何红辉,关爱民 著
实战 设计模式 Android
浏览人数:48
读者:           ...
本书专门介绍Android源代码的设计模式,共26章,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、命令模式、观察者模式、备忘录模式、迭代器模式、模板方法模式、访问者模式、中介者模式、代理模式、组合模式、适配器模式、装饰模式、享元模式、外观模式、桥接模式,以及MVC的介绍与实战和MVP应用架构模式。每个章节都对某个模式做了深入的分析,并且会对模式相关的技术点进行深入拓展,让读者在掌握模式的同时学习到Android中的一些重要知识,通过实战帮助读者达到学以致用的目的,且能够将模式运用于项目中,开发出高质量的程序。
  本书适合的读者为初、中、高级Android工程师,也可以作为大专院校相关师生的学习用书和培训学校的教材。

第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 无名英雄——深入理解LayoutInflater33    
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包存储状态的bug257    
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中的Binder跨进程通信机制与AIDL    
18.8 代理模式实战    
18.9 总结    
第19章 物以类聚——组合模式    
19.1 组合模式介绍    
19.2 组合模式的定义    
19.3 组合模式的使用场景    
19.4 组合模式的UML类图    
19.5 组合模式的简单实现    
19.6 Android源码中的模式实现    
19.7 为什么ViewGroup有容器的功能    
19.8 总结    
第20章 得心应手的“粘合剂”——适配器模式    
20.1 适配器模式介绍    
20.2 适配器模式的定义    
20.3 适配器模式的使用场景    
20.4 适配器模式的UML类图    
20.5 适配器模式应用的简单示例    
20.5.1 类适配器模式    
20.5.2 对象适配器模式    
20.6 Android源码中的适配器模式    
20.7 深度拓展    
20.8 实战演示    
20.9 总结    
第21章 装饰模式    
21.1 装饰模式介绍    
21.2 装饰模式的定义    
21.3 装饰模式的使用场景    
21.4 装饰模式的UML类图    
21.5 模式的简单实现    
21.6 Android源码中的模式实现    
21.7 Context与ContextImpl    
21.8 模式实战    
21.9 总结    
第22章 对象共享,避免创建多对象——享元模式    
22.1 享元模式介绍    
22.2 享元模式定义    
22.3 享元模式的使用场景    
22.4 享元模式的UML类图    
22.5 享元模式的简单示例    
22.6 Android源码中的享元模式    
22.7 深度拓展    
22.7.1 深入了解Android的消息机制    
22.7.2 子线程中创建Handler为何会抛出异常    
22.8 总结    
第23章 统一编程接口——外观模式    
23.1 外观模式介绍    
23.2 外观模式定义    
23.3 外观模式的使用场景    
23.4 外观模式的UML类图    
23.5 外观模式的简单示例    
23.6 Android源码中的外观模式    
23.7 深度拓展    
23.7.1 Android资源的加载与匹配    
23.7.2 动态加载框架的实现    
23.8 外观模式实战    
23.9 总结    
第24章 连接两地的交通枢钮——桥接模式    
24.1 桥接模式介绍    
24.2 桥接模式的定义    
24.3 桥接模式的使用场景    
24.4 桥接模式的UML类图    
24.5 桥接模式的简单实现    
24.6 Android源码中的桥接模式实现    
24.7 关于WindowManagerService    
24.8 桥接模式实战    
24.9 总结    
第25章 MVC的介绍与实战    
25.1 MVC的起源与历史    
25.2 MVC在Android中的实现    
25.3 总结    
第26章 MVP应用架构模式    
26.1 MVP模式介绍    
26.2 MVP模式的三个角色    
26.3 与MVC、MVVM的区别    
26.4 MVP的实现    
26.5 MVP与Activity、Fragment的生命周期   
看过本书的人还看过