App 组件化/模块化之路——使用SDK的思路进行模块化设计接口

  • 时间:
  • 浏览:1

与用户相关的API都放满此模块中进行管理,而其它模块进行使用就很方便了。

累似 ,我的 App 里许多页面后会用到获取本地音乐许多视频的列表。同样地,有以下哪几个类。

网络请求中最常见的莫过于用户授权登录模块了。现在以此模块为例,相当于有以下接口

首先,根据 API 设计 Contract 接口,在这里定义接口请求土法律法律依据 和回调土法律法律依据 。累似 我们都累似 登录模块,就能没办法 定义有一一个多 AuthContract 协议接口,在累似 Contract底下又管理着 PresenterView 接口,分别代表具体 API 请求土法律法律依据 和数据回调土法律法律依据 。其中在 View 接口中定义了哪几个通用的回调 onBegin, onFinish, onError,分别代表请求开始英语 了、开始英语 了、出错等几种请况,其它土法律法律依据 却说我具体 API 返回的数据回调了。

许多在须要调用接口的页面中,如LoginFragment

许多,实现有一一个多 Contract 接口中的 View 接口。其实是空实现。

为哪此要提供有一一个多 空实现的类呢?其实为了方便使用。想想你使用过的 WebViewChrome 的接口回调。

AuthManager 中还有有一一个多 AuthDBHelper 类,累似 是用户信息的缓存类。但会 我用户登录过了,没办法 下次却说我直接取缓存中的登录信息就能没办法 了。

累似 用法是就有与其它第三方 SDK 的使用累似 呢?能没办法 感受一下,其实累似 也是之前 提到的 SDK 设计思路。

具体的 API 实现中,我这里就使用了之前 网络框架中的代码 SignInRequest。

累似 Contract 接口设计思路是源于googlesamples/android-architecture 。曾经的好处我认为却说我很好的管理累似 模块中的众多的接口和回调土法律法律依据 ,而维护者一看就一目了然,非常清晰。

首先,在Application中进行初始化

假设有一一个多 App 包含哪此接口,没办法 怎么才能 才能 设计哪此接口呢?按照我们都之前 设计的网络请求框架却说我把每有一一个多 具体的 API (累似 登录接口) 写有一一个多 Request 类。

AuthManager 累似 类设计单例模式。除了具体 API 实现接口还有以下哪几个土法律法律依据

在不久之前 分享一篇《App 组件化/模块化之路——怎么才能 才能 封装网络请求框架》文章介绍了我在项目中封装网络请求框架的思路。开发有一一个多 App 会涉及到许多网络请求 API ,累似 登录注册接口、用户信息接口、业务列表请求接口等等。而本文介绍的是怎么才能 才能 模块化设计哪此接口,使得项目中更好地复用代码。当然这仅仅是一家之言,欢迎留言拍砖。

目前在项中中除了 API 能没办法 曾经设计之外,还有其它有一一个多 功能但会 我各个模块就有许多经常 使用到的都能没办法 使用曾经的思路。

预览以下整体的型态

思路其实也简单。不错,为了让人的接口更好的复用,我们都把整个模块相关的接口进行整体设计。对外统一接口和回调土法律法律依据 。我们都来看代码。

累似 的注册接口对应有一一个多 SignUpRequest 类,于是曾经有哪几个个接口就又哪几个个 Request 类。

许多你的 App 业务复杂,没办法 Request 类数目就会暴增,这之前 怎么才能 才能 组织管理哪此 Request 类却说我有一一个多 大问题了。

最后,我们都实现 Contract 中的 Presenter 接口了。累似 却说我我们都累似 模块化接口的核心类了。

曾经用起来是就有很方便呢?