Android 设计模式

Android Design Pattern

Posted by LXG on April 20, 2020

图解设计模式

图解设计模式-张子阳的博客

图说设计模式

面向对象的六大原则

  1. 单一职责原则(SRP)—Single Responsibility Principle
  2. 开闭原则(OCP)—Open Close Principle
  3. 里式替换原则(LSP)—Liskov Substitution Principle
  4. 依赖倒置原则(DIP)—Dependence Inversion Principle
  5. 接口隔离原则(ISP)—InterfaceSegregation Principle
  6. 迪米特原则(LOD)—Law of Demeter

设计模式

  1. 单例模式—LayoutInflater
  2. Builder模式—AlertDialog
  3. 原型模式—Intent
  4. 工厂方法模式
  5. 抽象工厂模式
  6. 策略模式
  7. 状态模式—WIFI状态机
  8. 责任链模式—View的事件分发
  9. 解释器模式—AndroidManifest.xml
  10. 命令模式—NotifyArgs
  11. 观察者模式—Adapter
  12. 备忘录模式—onSaveInstanceState
  13. 迭代器模式—Cursor
  14. 模板方法模式—AsyncTask
  15. 访问者模式—注解
  16. 中介者模式
  17. 代理模式—ActivityManagerProxy, AIDL
  18. 组合模式—View和ViewGroup
  19. 适配器模式
  20. 装饰模式—ContextImpl
  21. 享元模式—Handler Message
  22. 外观模式—ContextImpl
  23. 桥接模式

图解设计模式

适应设计模式

Iterater

一个一个遍历,典型实现ArrayList

iterator

Adapter

增加一个适配器以便复用,Android典型实现RecycleView

adapter

交给子类

Template Method

将具体实现交给子类

template_method

Factory Method

将实例到生成交给子类

factory_method

生成实例

Singleton

单例模式

singleton

ProtoType

原型模式,通过复制生成实例,Android中的典型实现Intent

prototype

Builder

Builder模式,组装复杂的实例,Android典型实现AlertDialog

builder

AbstractFactory

抽象工厂模式,将抽象零件组装成抽象产品

abstract_factory

分开考虑

Bridge

桥接模式,将类的功能层次结构和实现层次结构分离,Android中典型应用为WindowManager

bridge

Strategy

策略模式,整体的替换算法, Android中的典型应用时间插值器TimeInterpolator

strategy

一致性

Composite

组合模式,容器和内容的一致性, Android典型实现View和ViewGroup

composite

Decorator

装饰模式,装饰边框和被装饰物的一致性,Android中的典型实现Context和ContextWrapper

decorator

访问数据结构

访问者模式,访问数据结构并处理数据

visitor

Chain of Responsibility

责任链模式,每个对象都有机会处理请求,Android典型应用为事件分发机制

responsibility

简单化

Facade

外观模式,简单窗口,Android典型实现为Context

facade

Mediator

中介者模式,把多对多转换为一对多

mediator

管理状态

Observer

观察者模式

observer

Memento

备忘录模式, Android典型应用onSaveInstanceState

memento

State

状态模式,Android典型实现Wifi状态机

state

避免浪费

Flyweight

享元模式,对象共享,避免创建多对象,Android典型应用Message.obtain

flyweight

Proxy

代理模式,Android典型实现Binder

proxy

用类来表现

Command

命令模式,Android典型应用为事件传递机制

command

Interpreter

解释器模式,Android典型应用为AndroidManifest.xml

interpreter

思维导图

图片来自Github

design