Fork me on GitHub

使用最频繁的粘合剂-适配器模式

适配器模式可以说是开发Android过程中绕不开的一个设计模式,ListView到RecyclerVIew都需要使用适配器模式,相当于将两个类粘合在一起,这个模式在我们的生活中也能见到类似的例子,如电源适配器等等,适配器模式又分为类适配器与对象适配器,分别如下:

类适配器

被转换的类
1
2
3
4
5
public class IntegerInput {
public int getIntegerInput() {
return new Random().nextInt(100);
}
}
目标接口
1
2
3
public interface StringOutput {
public String getString();
}
适配器类
1
2
3
4
5
6
7
public class AdapterIS extends IntegerInput implements StringOutput {

@Override
public String getString() {
return "String:" + getIntegerInput();
}
}

对象适配器

对象适配器与类适配器有些许不同,使用了代理的思想,仅仅是适配器类与类适配器有所不同

1
2
3
4
5
6
7
8
9
10
11
12
public class AdapterIS implements StringOutput {
IntegerInput integerInput;

public AdapterIS(IntegerInput integerInput) {
this.integerInput = integerInput;
}

@Override
public String getString() {
return "String:" + integerInput.getIntegerInput();
}
}