推荐序

设计模式本身并不复杂,但是设计模式的出现,却是GOF大师们耗费无数心血,研究成百上千的例子,历经千锤百炼取其精华而得之,所以,它的重要性毋庸置疑。几年前,我曾见过高焕堂老师一本类似书籍的原稿,可惜此书未能出版,心中一直对此遗憾。 但今天有幸一窥CSDN社区专家何红辉、关爱民老师精心撰写的这本以Android源码为案例的设计模式解析与实战一书时, 激动之情勃然而发。是的,本书的确是国内第一本以Android为平台介绍设计模式的书,并且书中实例还不是简单的Sample,而是作者在自已开发实践中的经历和-些实际使用的精彩代码段, 实用性很强。

另外,我觉得(Android 源码设计模式解析与实战》中的主人公小民就是那些不断追求技术进
步,从而得以不断成长的IT技术人的代表,小民的成长过程基本上反映了我们现在程序员的成长
经历,他的成功很值得我们学习和借鉴。

学习设计模式,是程序员自我修炼、提升实力过程中必不可少的一关。读完此书的您或许已是
设计模式的熟手,但我个人觉得,程序员的自我修炼远未结束,因为在设计模式之后,更有像Patterm Oriented Software Architecture 5卷本这样的、着眼于更高层次的书籍需要我们认真、刻苦地学习。

目录

第1章走向灵活软件之路——面向对象的六大原则

android 分析 源码 android源码分析书_android

第2章 应用最广的模式——单 例模式

android 分析 源码 android源码分析书_设计模式_02

第3章 自由扩展你的项目——Builder模式

android 分析 源码 android源码分析书_软件架构师_03

第4章 使程序运行更高效——原型模式

android 分析 源码 android源码分析书_android_04

第5章 应用最广 泛的模式——工厂方法模式

android 分析 源码 android源码分析书_android 分析 源码_05


android 分析 源码 android源码分析书_android_06

第6章 创建型设计模式——抽象工厂模式.

android 分析 源码 android源码分析书_android 分析 源码_07

第7章 时势造英雄——策略模式

android 分析 源码 android源码分析书_软件架构师_08

第8章 随遇而安——状态模式

android 分析 源码 android源码分析书_android 分析 源码_09

android 分析 源码 android源码分析书_安卓_10

第9章 使编程更有 灵活性——责任链模式

android 分析 源码 android源码分析书_android 分析 源码_11

第10章 化繁为简的翻译机——解释器模式

android 分析 源码 android源码分析书_android_12

第11章 让程序畅通执行——命令模式

android 分析 源码 android源码分析书_软件架构师_13

第十二章 解决、解耦的钥匙——观察者模式

android 分析 源码 android源码分析书_设计模式_14


android 分析 源码 android源码分析书_设计模式_15

第13章 编程中的“后悔药”——备忘录模式

第14章 解决问题的“第三者”——迭代器模式

第15章 抓住问题核心——模板方法模式

第16章 访问者模式

第17章 “和事佬”——中介者模式

第18章 编程好帮手——代理模式

第19章 物以类聚——组合模式

android 分析 源码 android源码分析书_软件架构师_16

第20章 得心应手的“粘合剂”——适配器模式

第21章 装饰模式

第22章 对象共享,避免创建多对象——享元模式

第23章 统一编程接口——外观模式

第24章 连接两地的交通枢钮——桥接模式

第25章 MVC的介绍与实战

第26章 MVP应用架构模式

android 分析 源码 android源码分析书_设计模式_17


文章得到了业界的认可,让我又想起了最初出书的念头。原因很简单,Android 是一个开源的系统,很多优秀的思想、架构、设计模式必然在它的源码中得以体现,而在开源社区发布的文章还不够深入。从学习"Hello World"开始,我们都是先从学习他人如何做,然后再到学着做,最后经过自己的理解与思考再到自己做,因此,学习这些优秀的实现正是我们每个开发人员成长过程中的重要一步。在学习Android源码的优秀设计之后,我们如何将设计模式运用在Android开发上成了至关重要的问题,正所谓学以致用。因此,设计模式在Android开发中的实战又成了第二个关键。恰好,这两个领域目前都没有相关的书籍,我和关爱民老师就考虑出版这样的一本书籍。一来是通过写书实现自我提升以及对知识的梳理,二来也希望本书能够让更多的Android开发人员了解设计模式,从而提高自己的代码质量。如此一来, 也算是尽了我们的绵薄之力。