Android 设计模式
设计模式的目的只有一个,降低对象之间的耦合,增强程序的复用性、拓展性、维护性
1.设计模式的分类
设计模式一般分为三类:创建型模式、结构型模式、行为型模式
1.1 创建型模式(5种)
(口诀:单抽工建原)
用来创建对象的。一共有五种:单例模式、原型模式、建造者模式、工厂方法模式、抽象工厂模式、。
[单例模式] :
确保某一个类只有一个实例,并且提供一个全局访问点。
[抽象工厂模式]:
创建多个产品族中的产品对象。
[工厂方法模式]:
定义:让子类来决定要创建哪个对象;适用于一系列、大批量的对象生产。
示例:创建线程池的时候(Executors.newCachedThreadPool(); ),直接在Executors工厂类中选择一种我们需要的套餐就可以了。 还有BitmapFactory位图工厂,专门用来将指定的图片转换为指定的位图Bitmap。
[原型模式]:
定义:通过复制原型来创建新对象。
示例:Java中所有对象都有的一个名字叫clone的方法,已经原型模式的代名词了
[建造者模式]:
定义:用来创建复杂的复合对象。
示例:OkHttpClient、Retrofit的初始构建 或者Dialog
1.2 结构型模式(七种)
口诀:桥代理组合适配器,享元回家装饰外观
解释:有个姓桥的代理组装适配器,他儿子享元拿回家装饰外观去啦
结构型模式主要是用于处理类或者对象的组合。一共有七种:代理模式(委托)、适配器模式、装饰模式、外观模式、桥接模式、组合模式、享元模式。
[桥接模式]:
定义:将两个能够独立变化的部分分离开来。
示例:AbsListView
跟ListAdapter
之间就是一个桥接模式。Window
与 WindowManager
之间也是桥接模式。
[代理模式] :
定义:控制客户端对对象的访问。 示例:ActivityManagerProxy 这个代理类