面向对象的六大原则
- 单一职责原则(SRP)—Single Responsibility Principle
- 开闭原则(OCP)—Open Close Principle
- 里式替换原则(LSP)—Liskov Substitution Principle
- 依赖倒置原则(DIP)—Dependence Inversion Principle
- 接口隔离原则(ISP)—InterfaceSegregation Principle
- 迪米特原则(LOD)—Law of Demeter
设计模式
- 单例模式—LayoutInflater
- Builder模式—AlertDialog
- 原型模式—Intent
- 工厂方法模式
- 抽象工厂模式
- 策略模式
- 状态模式—WIFI状态机
- 责任链模式—View的事件分发
- 解释器模式—AndroidManifest.xml
- 命令模式—NotifyArgs
- 观察者模式—Adapter
- 备忘录模式—onSaveInstanceState
- 迭代器模式—Cursor
- 模板方法模式—AsyncTask
- 访问者模式—注解
- 中介者模式
- 代理模式—ActivityManagerProxy, AIDL
- 组合模式—View和ViewGroup
- 适配器模式
- 装饰模式—ContextImpl
- 享元模式—Handler Message
- 外观模式—ContextImpl
- 桥接模式
图解设计模式
适应设计模式
Iterater
一个一个遍历,典型实现ArrayList
Adapter
增加一个适配器以便复用,Android典型实现RecycleView
交给子类
Template Method
将具体实现交给子类
Factory Method
将实例到生成交给子类
生成实例
Singleton
单例模式
ProtoType
原型模式,通过复制生成实例,Android中的典型实现Intent
Builder
Builder模式,组装复杂的实例,Android典型实现AlertDialog
AbstractFactory
抽象工厂模式,将抽象零件组装成抽象产品
分开考虑
Bridge
桥接模式,将类的功能层次结构和实现层次结构分离,Android中典型应用为WindowManager
Strategy
策略模式,整体的替换算法, Android中的典型应用时间插值器TimeInterpolator
一致性
Composite
组合模式,容器和内容的一致性, Android典型实现View和ViewGroup
Decorator
装饰模式,装饰边框和被装饰物的一致性,Android中的典型实现Context和ContextWrapper
访问数据结构
访问者模式,访问数据结构并处理数据
Chain of Responsibility
责任链模式,每个对象都有机会处理请求,Android典型应用为事件分发机制
简单化
Facade
外观模式,简单窗口,Android典型实现为Context
Mediator
中介者模式,把多对多转换为一对多
管理状态
Observer
观察者模式
Memento
备忘录模式, Android典型应用onSaveInstanceState
State
状态模式,Android典型实现Wifi状态机
避免浪费
Flyweight
享元模式,对象共享,避免创建多对象,Android典型应用Message.obtain
Proxy
代理模式,Android典型实现Binder
用类来表现
Command
命令模式,Android典型应用为事件传递机制
Interpreter
解释器模式,Android典型应用为AndroidManifest.xml
思维导图
图片来自Github