|
|
|
@ -82,6 +82,13 @@ |
|
|
|
|
|
|
|
|
|
#### 适配器模式 |
|
|
|
|
|
|
|
|
|
适配器模式就是用来做适配的,它将不兼容的接口转化为可兼容的接口,让原本由于接口不兼容而不能在一起工作的类可以一起工作。适配器模式有两种实现方式:类适配器和对象适配器。其中,类适配器使用继承关系来实现,对象适配器使用组合关系来实现。 |
|
|
|
|
|
|
|
|
|
适配器模式的应用场景有:封装有缺陷的接口设计、替换依赖的外部系统、兼容老版本接口、适配不同格式的数据。 |
|
|
|
|
|
|
|
|
|
在 Android 中最常见的适配器模式就是 RecyclerView 的数据适配器了,Java 中的 Arrays.asList 也可以看做一种数据适配器,将数组类型的数据转化为集合数据类型。 |
|
|
|
|
|
|
|
|
|
结合上面所讲的代理模式和装饰者模式,这三种模式都属于结构型模式,也都可称为 Wrapper 模型,也就是通过 Wrapper 类二次封装原始类。但这三种设计模式的用意完全不同,也就是说要解决的问题、应用场景不同。代理模式在不改变原始类接口的条件下,为原始类定义一个代理类,主要目的是控制访问,而非加强功能,这是它跟装饰器模式最大的不同。装饰器模式是对原始类功能进行增强,并且支持多个装饰器的嵌套使用。适配器模式是一种事后的补救策略,适配器提供跟原始类不同的接口,而代理模式、装饰器模式提供的都是跟原始类相同的接口。 |
|
|
|
|
|
|
|
|
|
#### 观察者模式 |
|
|
|
|
|
|
|
|
|
#### |