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

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

作者:何红辉关爱民

出版社:人民邮电

出版年:2015年11月

ISBN:9787115406712

所属分类:散文随笔

书刊介绍

《Android源码设计模式解析与实战》内容简介

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

作品目录

推荐序
自序一
自序二
前言
致谢
第1章:走向灵活软件之路——面向对象的六大原则
1.1、优化代码的第一步——单一职责原则
1.2、让程序更稳定、更灵活——开闭原则
1.3、构建扩展性更好的系统——里氏替换原则
1.4、让项目拥有变化的能力——依赖倒置原则
1.5、系统有更高的灵活性——接口隔离原则
1.6、更好的可扩展性——迪米特原则
1.7、总结
第2章:应用最广的模式——单例模式
2.1、单例模式介绍
2.2、单例模式的定义
2.3、单例模式的使用场景
2.4、单例模式UML类图
2.5、单例模式的简单示例
2.6、单例模式的其他实现方式
2.6.1、懒汉模式
2.6.2、DoubleCheckLock(DCL)实现单例
2.6.3、静态内部类单例模式
2.6.4、枚举单例
2.6.5、使用容器实现单例模式
2.7、Android源码中的单例模式
2.8、无名英雄——深入理解LayoutInflater
2.9、运用单例模式
2.10、总结
第3章:自由扩展你的项目——Builder模式
3.1、Builder模式介绍
3.2、Builder模式的定义
3.3、Builder模式的使用场景
3.4、Builder模式的UML类图
3.5、Builder模式的简单实现
3.6、Android源码中的Builder模式实现
3.7、深入了解WindowManager
3.8、Builder模式实战
3.9、总结
第4章:使程序运行更高效——原型模式
4.1、原型模式介绍
4.2、原型模式的定义
4.3、原型模式的使用场景
4.4、原型模式的UML类图
4.5、原型模式的简单实现
4.6、浅拷贝和深拷贝
4.7、Android源码中的原型模式实现
4.8、Intent的查找与匹配
4.8.1、App信息表的构建
4.8.2、精确匹配
4.9、原型模式实战
4.10、总结
第5章:应用最广泛的模式——工厂方法模式
5.1、工厂方法模式介绍
5.2、工厂方法模式的定义
5.3、工厂方法模式的使用场景
5.4、工厂方法模式的UML类图
5.5、模式的简单实现
5.6、Android源码中的工厂方法模式实现
5.7、关于onCreate方法
5.8、工厂方法模式实战
5.9、总结
第6章:创建型设计模式——抽象工厂模式
6.1、抽象工厂模式介绍
6.2、抽象工厂模式的定义
6.3、抽象工厂模式的使用场景
6.4、抽象工厂模式的UML类图
6.5、抽象工厂方法模式的简单实现
6.6、Android源码中的抽象工厂方法模式实现
6.7、总结
第7章:时势造英雄——策略模式
7.1、策略模式介绍
7.2、策略模式的定义
7.3、策略模式的使用场景
7.4、策略模式的UML类图
7.5、策略模式的简单实现
7.6、Android源码中的策略模式实现
7.6.1、时间插值器
7.6.2、动画中的时间插值器
7.7、深入属性动画
7.7.1、属性动画体系的总体设计
7.7.2、属性动画的核心类介绍
7.7.3、基本使用
7.7.4、流程图
7.7.5、详细设计
7.7.6、核心原理分析
7.8、策略模式实战应用
7.9、总结
第8章:随遇而安——状态模式
8.1、状态模式介绍
8.2、状态模式的定义
8.3、状态模式的使用场景
8.4、状态模式的UML类图
8.5、状态模式的简单示例
8.6、Wi-Fi管理中的状态模式
8.7、状态模式实战
8.8、总结
第9章:使编程更有灵活性——责任链模式
9.1、责任链模式介绍
9.2、责任链模式的定义
9.3、责任链模式的使用场景
9.4、责任链模式的UML类图
9.5、责任链模式的简单实现
9.6、Android源码中的责任链模式实现
9.7、责任链模式实战
9.8、总结
第10章:化繁为简的翻译机——解释器模式
10.1、解释器模式介绍
10.2、解释器模式的定义
10.3、解释器模式的使用场景
10.4、解释器模式的UML类图
10.5、解释器模式的简单实现
10.6、Android源码中的解释器模式实现
10.7、关于PackageManagerService
10.8、总结
第11章:让程序畅通执行——命令模式
11.1、命令模式介绍
11.2、命令模式的定义
11.3、命令模式的使用场景
11.4、命令模式的UML类图
11.5、命令模式的简单实现
11.6、Android源码中的命令模式实现
11.7、Android事件输入系统介绍
11.8、命令模式实战
11.9、总结
第12章:解决、解耦的钥匙——观察者模式
12.1、观察者模式介绍
12.2、观察者模式的定义
12.3、观察者模式的使用场景
12.4、观察者模式的UML类图
12.5、观察者模式的简单实现
12.6、Android源码分析
12.7、观察者模式的深入拓展
12.8、实战
12.9、总结
第13章:编程中的“后悔药”——备忘录模式
13.1、备忘录模式介绍
13.2、备忘录模式的定义
13.3、备忘录模式的使用场景
13.4、备忘录模式的UML类图
13.5、备忘录模式的简单示例
13.6、Android源码中的备忘录模式
13.7、深度拓展
13.7.1、onSaveInstanceState调用的时机
13.7.2、使用V4包存储状态的bug
13.8、实战
13.9、总结
第14章:解决问题的“第三者”——迭代器模式
14.1、迭代器模式介绍
14.2、迭代器模式的定义
14.3、迭代器模式的使用场景
14.4、迭代器模式的UML类图
14.5、模式的简单实现
14.6、Android源码中的模式实现
14.7、总结
第15章:抓住问题核心——模板方法模式
15.1、模板方法模式介绍
15.2、模板方法模式的定义
15.3、模板方法模式的使用场景
15.4、模板方法模式的UML类图
15.5、模板方法模式的简单示例
15.6、Android源码中的模板方法模式
15.7、深度拓展
15.8、模板方法实战
15.9、总结
第16章:访问者模式
16.1、访问者模式介绍
16.2、访问者模式的定义
16.3、访问者模式的使用场景
16.4、访问者模式的UML类图
16.5、访问者模式的简单示例
16.6、Android源码中的模式
16.7、访问者模式实战
16.8、总结
第17章:“和事佬”——中介者模式
17.1、中介者模式介绍
17.2、中介者模式的定义
17.3、中介者模式的使用场景
17.4、中介者模式的UML类图
17.5、中介者模式的简单实现
17.6、Android源码中的中介者模式实现
17.7、中介者模式实战
17.8、总结
第18章:编程好帮手——代理模式
18.1、代理模式介绍
18.2、代理模式的定义
18.3、代理模式的使用场景
18.4、代理模式的UML类图
18.5、代理模式的简单实现
18.6、Android源码中的代理模式实现
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的生命周期

相关推荐

微信二维码