编辑点评:
CSDN博客专家,在开源社区做了大量的工作,贡献了许多模式设计的技术的何红辉和关爱民著作的一款安卓开发学习类的书籍,Android源码设计模式解析与实战pdf免费版本,高清无水印的电子版本,阅读无障碍。
Android源码设计模式解析与实战pdf预览
目录大全
第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.2DoubleCheckLock(DCL)
实现单例26
2.6.3静态内部类单例模式27
2.6.4枚举单例28
2.6.5使用容器实现单例模式28
2.7Android源码中的单例模式29
2.8无名英雄——深入理解
LayoutInflater33
2.9运用单例模式40
2.10总结42
第3章自由扩展你的项目——
Builder模式43
3.1Builder模式介绍43
3.2Builder模式的定义43
3.3Builder模式的使用场景43
3.4Builder模式的UML类图43
3.5Builder模式的简单实现44
3.6Android源码中的Builder模式实现46
3.7深入了解WindowManager52
3.8Builder模式实战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.7Android源码中的原型模式实现72
4.8Intent的查找与匹配74
4.8.1App信息表的构建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.6Android源码中的工厂方法模式实现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.6Android源码中的抽象工厂
方法模式实现112
6.7总结116
第7章时势造英雄——策略模式117
7.1策略模式介绍117
7.2策略模式的定义117
7.3策略模式的使用场景117
7.4策略模式的UML类图118
7.5策略模式的简单实现118
7.6Android源码中的策略模式实现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.6Wi-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.6Android源码中的责任链模式实现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.6Android源码中的解释器模式实现189
10.7关于PackageManagerService195
10.8总结203
第11章让程序畅通执行——
命令模式204
11.1命令模式介绍204
11.2命令模式的定义204
11.3命令模式的使用场景204
11.4命令模式的UML类图204
11.5命令模式的简单实现207
11.6Android源码中的命令模式实现211
11.7Android事件输入系统介绍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.6Android源码分析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.6Android源码中的备忘录模式250
13.7深度拓展257
13.7.1onSaveInstanceState调用
的时机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.6Android源码中的模式实现275
14.7总结277
第15章抓住问题核心——
模板方法模式278
15.1模板方法模式介绍278
15.2模板方法模式的定义278
15.3模板方法模式的使用场景278
15.4模板方法模式的UML类图278
15.5模板方法模式的简单示例279
15.6Android源码中的模板方法模式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.6Android源码中的模式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.6Android源码中的中介者模式实现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.6Android源码中的代理模式实现336
18.7Android中的Bin
图书特色
CSDN社区专家精心撰写、业界专家邓凡平、郭霖、任玉刚、徐宜生等鼎力推荐Android源码讲解设计模式的书
《Android源码设计模式解析与实战》不仅分析了Android源代码的设计模式,更结合实例演示了如何使用这些设计模式。看这本书,既能学到如何分析、学习Android源代码,又能提高自己架构设计水平
书中的主人公小民就是那些不断追求技术进步,从而得以不断成长的IT技术人的代表,小民的成长过程基本上反映了知识兔现在程序员的成长经历,他的成功很值得知识兔学习和借鉴。
内容摘要
MVP模式。主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、命令模式、观察者模式、备忘录模式、迭代器模式、模板方法模式、访问者模式、中介者模式、代理模式、组合模式、适配器模式、装饰模式、享元模式、外观模式、桥接模式,以及MVC的介绍与实战和MVP应用架构模式。每个章节都对某个模式做了深入的分析,并且会对模式相关的技术点进行深入拓展,让读者在掌握模式的同时学习到Android中的一些重要知识,通过实战帮助读者达到学以致用的目的,且能够将模式运用于项目中,开发出高质量的程序。
《Android源码设计模式解析与实战》适合的读者为初、中、高级Android工程师,也可以作为大专院校相关师生的学习用书和培训学校的教材。
精彩书摘
《Android 源码设计模式解析与实战》:
开闭原则的英文全称是Open Close Principle,缩写是OCP,它是Java世界里最基础的设计原则,它指导知识兔如何建立一个稳定的、灵活的系统。开闭原则的定义是:软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是,对于修改是封闭的。在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会将错误引入原本已经经过测试的旧代码中,破坏原有系统。因此,当软件需要变化时,知识兔应该尽量通过扩展的方式来实现变化,而不是通过修改已有的代码来实现。当然,在现实开发中,只通过继承的方式来升级、维护原有系统只是一个理想化的愿景,因此,在实际的开发过程中,修改原有代码、扩展代码往往是同时存在的。聽
软件开发过程中,最不会变化的就是变化本身。产品需要不断地升级、维护,没有一个产品从第一版本开发完就再没有变化了,除非在下个版本诞生之前它已经被终止。而产品需要升级,修改原来的代码就可能会引发其他的问题。那么,如何确保原有软件模块的正确性,以及尽量少地影响原有模块,答案就是,尽量遵守本章讲述的开闭原则。聽
勃兰特·梅耶在1988年出版的《面向对象软件构造》一书中提出这一原则——开闭原则。这一想法认为,程序一旦开发完成,程序中一个类的实现只应该因错误而被修改,新的或者改变的特性应该通过新建不同的类实现,新建的类可以通过继承的方式来重用原类的代码。显然,梅耶的定义提倡实现继承,已存在的实现类对于修改是封闭的,但是新的实现类可以通过覆写父类的接口应对变化。
……
下载体验