动态代理模式在Java Web中的应用是非常常见的,在spring框架中大量的用到了动态代理,是比较重要的一个设计模式,也是非常难理解的设计模式之一。
代理类在运行前不存在、运行时由程序动态生成的代理方式称为动态代理。
当前的网络请求库多种多样,其中Square公司的OkHttp是一个相对比较完美的网络请求库,而在其上又封装了一层Retrofit库,为方便快捷的调用Restful Api提供了一种捷径。
调用Retrofit的过程:
首先,定义一个接口,接口中定义网络请求的具体方法,在方法上通过注解配置host,header,params等信息。
然后,新建一个Retrofit对象,通过该对象产生一个你定义的接口对象。
通过接口对象调用具体的方法完成请求。
接口是不可以直接new出来的,GitHubService接口的实例就是通过动态代理的方式实现的。