该项目通过分析Android系统中的设计模式来提升大家对设计模式的理解,从源码的角度来剖析既增加了对Android系统本身的了解,也从优秀的设计中领悟模式的实际运用以及它适用的场景,避免在实际开发中的生搬硬套。如果你对面向对象的六大开发原则还不太熟悉,那么在学习模式之前先学习一下面向对象的六大原则是非常有必要的。
每一个模式可能在Android源码中有很多个实现,因此我们为每个模式创建一个文件夹,文件夹中为分析这个模式的markdown文件,该文件的命名规则为: 模式名-分析者.md, 例如: adapter-mr.simple.md。我们的原则是通过分析这些源码不仅要学会设计模式本身,而且要通过学习该模式深入到Android源码层的实现,这样不仅学了设计模式,也增加了我们对于Android源码的了解。
QQ交流群: 413864859,希望大家踊跃参与进来。
- 按照template.md的格式将模式分析的markdown文件编写完毕,该markdown文件必须放在模式对应的文件夹下,例如适配器模式则为adapter目录下;
- 所需图片统一放到模式文件夹的images目录下,例如adapter/images,图片名的格式为模式名-分析者-图片名.jpg,例如adapter-mr.simple-flow.jpg。如果有同名图片注意不要覆盖原图,修改自己的图片名保证不冲突即可;
- 提交本地修改,将本地的提交push线上。
模式名 | 文件夹 |
---|---|
适配器模式 | adapter |
抽象工厂模式 | abstract-factory |
桥接模式 | bridge |
Builder模式 | builder |
责任链模式 | chain-of-responsibility |
命令模式 | command |
组合模式 | composite |
装饰模式 | decorator |
外观模式 | facade |
工厂方法模式 | factory-method |
享元模式 | flyweight |
解释器模式 | interpreter |
迭代器模式 | iterator |
中介者模式 | mediator |
备忘录模式 | memento |
观察者模式 | observer |
原型模式 | prototype |
代理模式 | proxy |
单例模式 | singleton |
状态模式 | state |
策略模式 | strategy |
模板方法模式 | template-method |
访问者模式 | visitor |