(2017最新博彩导航) 关于 Retrofit 的 ApiService

在使用 retrofit 的时候,是将 api 接口写在一个 Interface 里,再使用 Retrofit.Builder 来生成该 Interface 的实例来用的。

例如有一个 ApiService,

 Retrofit retrofit = new Retrofit.Builder .clientclient .baseUrlBASE_URL .build; apiService = retrofit.createApiService.class;

那么,假如我的项目中有很多接口,我是全部接口 api 都丢进 ApiService 里面呢,
还是分开各部分功能的 API,分别使用不同的 xxxService 呢?
主要是考虑性能是否有所不同?

还是分开的好,单一职责原则,从性能角度基本可以忽略,毕竟不是同时创建大量的对象,加上Retrofit采用的动态代理,所有的方法都是采用的同一个InvocationHandler进行处理,所以我认为性能几乎没有不同。

个人观点是
如果是restful的后台,一种model写一个service比较清晰,这样一个service大概就是get put post delete这几种方法吧。

将同一域下的接口放在一个apiService里就可以了,一个有点规模的App几十个接口不至于管理不过来吧。然后不同域下的接口分成不同的apiService,比如第三方登录,推送。这是比较合理的做法吧

我感觉可以全都可以写在OthersService.class里

建议写在一个类里,你的OthersService在启动的时候初始化一次,之后都用同一个OthersService对象,不用再retrofit.createOthersService.class了。

写一个里,不用每次实例化

发表评论

电子邮件地址不会被公开。 必填项已用*标注