本文将接着《Retrofit源码设计模式解析(上)》,继续分享以下设计模式在Retrofit中的应用:
适配器模式
策略模式
观察者模式
单例模式
原型模式
享元模式
一、适配器模式
在上篇说明CallAdapter.Factory使用工厂模式时,提到CallAdapter本身采用了适配器模式。适配器模式将一个接口转换成客户端希望的另一个接口,使接口本不兼容的类可以一起工作。
Call接口是Retrofit内置的发送请求给服务器并且返回响应体的调用接口,包括同步、异步请求,查询、取消、复制等功能。
public interface Call<T> extends Cloneable { // 同步执行请求 Response<T> execute() throws IOException; // 异步执行请求 void enqueue(Callback<T> callback); // 省略代码 // 取消请求 void cancel(); // 复制请求 Call<T> clone(); }