1、概述
适配器模式将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作,属于结构型模式。
2、模式结构
3、使用场景
4、优缺点
优点:
缺点:
5、实例
在开发中,我们可能会遇到原有的日志系统是保存日志文件中的,但其它项目想把日志保存在数据库中,这种情况下,可不改变日志原有的业务逻辑,扩展一个适配类来实现功能。
ILogFile,日志接口类
public interface ILogFile {
List<String> getLog();// 获取日志
void writeLog(List<String> list);// 写日志
}
LogFile:日志实现类,即Adaptee类
public class LogFile implements ILogFile {
@Override
public List<String> getLog() {
return null;
}
@Override
public void writeLog(List<String> list) {
}
}
ILogDbFile,数据库接口类,即Target类
public interface ILogDbFile {
void createLog(String log);
}
LogAdapter,数据库适配类,是Adapter类
public class LogAdapter implements ILogDbFile {
private LogFile logFile;
public LogAdapter(LogFile logFile) {
this.logFile = logFile;
}
@Override
public void createLog(String log) {
List<String> list = logFile.getLog();
list.add(log);
logFile.writeLog(list);
}
}
以上是对象适配器,在Android中,我们可以常见接口适配器,例如:
public interface ListAdapter extends Adapter {
...
}
原文:https://www.cnblogs.com/fomin/p/9860912.html