www.yzc261.com关于 Retrofit 的 ApiService

( www.yzc261.com )

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

比方有一个 ApiService,

    Retrofit retrofit = new Retrofit.Builder()
                            .client(client)
                            .baseUrl(BASE_URL)
                            .build();
    apiService = retrofit.create(ApiService.class);

那么,假定我的项目中有很多接口,我是全部接口 api 都丢进 ApiService 里面呢,
还是分开各部分服从的 API,辨别运用差别的 xxxService 呢?
主要是思索功能能否有所差别?

还是分开的好,单一职责准绳,从功能角度根本可以忽略,终究不是同时创立少量的东西,加上Retrofit采取的静态代理,统统的办法都是采取的分歧个InvocationHandler中断处理,以是我以为功能几乎没有差别。

集团见解是
假如是restful的背景,一种model写一个service比较明晰,如许一个service大约便是get put post delete这几种办法吧。

将分歧域下的接口放在一个apiService里就可以了,一个有点范围的App几十个接口不至于办理不过去吧。然后差别域下的接口分红差别的apiService,比如第三方登录,推送。这是比较公道的做法吧

我以为可以全都可以写在OthersService.class里

发起写在一个类里,你的OthersService在启动的时分初始化一次,之后都用分歧个OthersService东西,不用再retrofit.create(OthersService.class)了。

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

(看完/读完)这篇文章有何感想! www.yzc261.com的分享…

发表评论

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