|
1 | 1 | # Android源码设计模式分析开源项目
|
2 | 2 |
|
3 |
| -## 简述 |
4 |
| -该项目通过分析Android系统中的设计模式来提升大家对设计模式的理解,从源码的角度来剖析既增加了对Android系统本身的了解,也从优秀的设计中领悟模式的实际运用以及它适用的场景,避免在实际开发中的生搬硬套。如果你对面向对象的六大开发原则还不太熟悉,那么在学习模式之前先学习一下[面向对象的六大原则](oop-principles/oop-principles.md)是非常有必要的。 |
5 |
| - |
6 |
| -**<font color="red">每一个模式在Android源码中可能有很多个实现,因此我们为每个模式创建一个文件夹,就是为了同一个模式可以有多个人分析,这样我们就可以从更多的源码中学习对应的模式,具体请参考[编写步骤](#steps)。我们的原则是通过分析这些源码不仅要学会设计模式本身,而且要通过学习该模式深入到Android源码层的实现,这样不仅学了设计模式,也增加了我们对于Android源码的了解。</font>** |
| 3 | +## 提示 |
| 4 | +**该开源库已经停止维护 **,该系列文章我们会根据技术发展、实战需求以及读者您的反馈重写所有章节,并且加入更加深入的核心机制分析以及模式在Android开发中的实战, **完善后的文稿将会编撰成书出版 **,以便帮助大家更系统的学习,此时更真心地希望大家能够给出完善建议,以便本书更贴近您的需求,联系邮箱为 : [email protected],谢谢。 |
7 | 5 |
|
8 |
| -**<font color="red">QQ交流群: 413864859,希望大家踊跃参与进来。</font>** |
9 |
| - |
10 |
| -<b id="steps"></b> |
11 |
| -## 编写步骤 |
12 |
| -1. 填写[任务表](#schedule); |
13 |
| -2. 在模式对应的文件夹下以你的用户名建立一个文件夹,例如我分析的是适配器模式,那么我在adapter目录下建立一个mr.simple文件夹; |
14 |
| -3. 将template.md拷贝一份到adapter/mr.simple目录下,并且重命名为readme.md; |
15 |
| -4. 所需图片统一放到你的用户名文件夹的images目录下,例如adapter/mr.simple/images; |
16 |
| -5. 按照[template.md](template.md)的格式将模式分析的markdown文件编写完毕; |
17 |
| -6. 提交本地修改,将本地的提交push线上。 |
18 |
| - |
19 |
| -样例大家可以参考[Mr.Simple的单例模式分析](singleton/mr.simple)。 |
20 | 6 |
|
| 7 | +## 简述 |
| 8 | +该项目通过分析Android系统中的设计模式来提升大家对设计模式的理解,从源码的角度来剖析既增加了对Android系统本身的了解,也从优秀的设计中领悟模式的实际运用以及它适用的场景,避免在实际开发中的生搬硬套。如果你对面向对象的六大开发原则还不太熟悉,那么在学习模式之前先学习一下[面向对象的六大原则](oop-principles/oop-principles.md)是非常有必要的。 |
21 | 9 |
|
22 | 10 | <b id="schedule"></b>
|
23 | 11 | ## 任务表 ( 一期截止 2015.3.20 )
|
|
29 | 17 | | [模板方法](template-method/mr.simple) | [Mr.Simple](https://github.com/bboyfeiyu) | 完成 |
|
30 | 18 | | [策略模式](strategy/gkerison) | [GKerison](https://github.com/GKerison) | 完成 |
|
31 | 19 | | [代理模式](proxy/singwhatiwanna) | [singwhatiwanna](https://github.com/singwhatiwanna) | 完成 |
|
32 |
| -| [组合模式](composite/tiny-times) | [tiny-times](https://github.com/tiny-times) | 撒丫子赶稿中 | |
33 |
| -| [装饰模式](decorator/tiny-times) | [tiny-times](https://github.com/tiny-times) | 撒丫子赶稿中 | |
34 |
| -| [享元模式](flyweight/lvtea0105) | [lvtea0105](https://github.com/lvtea0105) | 撒丫子赶稿中 | |
35 | 20 | | [迭代器模式](iterator/haoxiqiang) | [Haoxiqiang](https://github.com/Haoxiqiang)| 完成 |
|
36 | 21 | | [责任链模式](chain-of-responsibility/AigeStudio) | [AigeStudio](https://github.com/AigeStudio)| 完成 |
|
37 |
| -| [状态模式](state/Thinan) | [Thinan](https://www.github.com/Thinan)| 撒丫子赶稿中 | |
38 |
| -| [命令模式](command/lijunhuayc) | [lijunhuayc](https://github.com/lijunhuayc)| 待审核 | |
| 22 | +| [命令模式](command/lijunhuayc) | [lijunhuayc](https://github.com/lijunhuayc)| 完成 | |
39 | 23 | | [桥接模式](bridge/shen0834) | [shen0834](https://github.com/shen0834)| 完成 |
|
40 | 24 | | [原型模式](prototype/mr.simple) | [Mr.Simple](https://github.com/bboyfeiyu)| 完成 |
|
41 | 25 |
|
42 |
| - |
43 |
| - |
44 |
| -## 目前无人认领的模式 |
45 |
| -| 模式名 | |
46 |
| -| ------------- | |
47 |
| -| 中介者模式 | |
48 |
| -| 备忘录模式 | |
49 |
| -| 解释器模式 | |
50 |
| -| 访问者模式 | |
51 |
| - |
52 |
| -## 模式与文件夹对应列表 |
53 |
| -| 模式名 | 文件夹 | |
54 |
| -| ------------- |:-------------:| |
55 |
| -| 适配器模式 | [adapter](adapter) | |
56 |
| -| 抽象工厂模式 | [abstract-factory](abstract-factory) | |
57 |
| -| 桥接模式 | [bridge](bridge) | |
58 |
| -| Builder模式 | [builder](builder) | |
59 |
| -| 责任链模式 | [chain-of-responsibility](chain-of-responsibility) | |
60 |
| -| 命令模式 | [command](command) | |
61 |
| -| 组合模式 | [composite](composite) | |
62 |
| -| 装饰模式 | [decorator](decorator) | |
63 |
| -| 外观模式 | [facade](facade) | |
64 |
| -| 工厂方法模式 | [factory-method](factory-method) | |
65 |
| -| 享元模式 | [flyweight](flyweight) | |
66 |
| -| 解释器模式 | [interpreter](interpreter) | |
67 |
| -| 迭代器模式 | [iterator](iterator) | |
68 |
| -| 中介者模式 | [mediator](mediator) | |
69 |
| -| 备忘录模式 | [memento](memento) | |
70 |
| -| 观察者模式 | [observer](observer) | |
71 |
| -| 原型模式 | [prototype](prototype) | |
72 |
| -| 代理模式 | [proxy](proxy) | |
73 |
| -| 单例模式 | [singleton](singleton) | |
74 |
| -| 状态模式 | [state](state) | |
75 |
| -| 策略模式 | [strategy](strategy) | |
76 |
| -| 模板方法模式 | [template-method](template-method) | |
77 |
| -| 访问者模式 | [visitor](visitor) | |
78 |
| - |
79 | 26 | ## 参考资料
|
80 |
| -* [GOF的设计模式:可复用面向对象软件的基础](http://pan.baidu.com/s/1i3zjaIx) |
81 |
| -* [设计模式之禅](http://pan.baidu.com/s/1sjjZCvj) |
82 |
| -* [Java与模式](http://pan.baidu.com/s/1i3sxzyH) |
| 27 | +* [GOF的设计模式:可复用面向对象软件的基础](http://item.jd.com/10057319.html) |
| 28 | +* [设计模式之禅](http://item.jd.com/11414555.html) |
| 29 | +* [Java与模式](http://item.jd.com/10094286.html) |
83 | 30 | * [java-design-patterns](https://github.com/iluwatar/java-design-patterns)
|
84 | 31 | * [Java之美[从菜鸟到高手演变]之设计模式](http://blog.csdn.net/zhangerqing/article/details/8194653)
|
0 commit comments