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

  • 时间:
  • 浏览:0

最后,亲戚亲戚以后 人实现 Contract 中的 Presenter 接口了。这俩假使 亲戚亲戚以后 人这俩模块化接口的核心类了。

之类,我的 App 里却说页面前会 用到获取本地音乐不可能 视频的列表。同样地,有以下几只类。

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

预览以下整体的特性

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

AuthManager 中还有有另两个 AuthDBHelper 类,这俩是用户信息的缓存类。假使 用户登录过了,这麼下次假使 直接取缓存中的登录信息就可不不需要 了。

原先用起来是全部前会 很方便呢?

之类的注册接口对应有另两个 SignUpRequest 类,于是原先有几只个接口就又几只个 Request 类。

思路确实也简单。不错,为了以后你的接口更好的复用,亲戚亲戚以后 人把整个模块相关的接口进行整体设计。对外统一接口和回调辦法 。亲戚亲戚以后 人来看代码。

以后,实现有另两个 Contract 接口中的 View 接口。确实是空实现。

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

首先,根据 API 设计 Contract 接口,在这里定义接口请求辦法 和回调辦法 。之类亲戚亲戚以后 人这俩登录模块,就可不不需要 定义有另两个 AuthContract 协议接口,在这俩 Contract顶端又管理着 PresenterView 接口,分别代表具体 API 请求辦法 和数据回调辦法 。其中在 View 接口中定义了几只通用的回调 onBegin, onFinish, onError,分别代表请求始于、始于、出错等几种请况,其它辦法 假使 具体 API 返回的数据回调了。

以后在还要调用接口的页面中,如LoginFragment

首先,在Application中进行初始化

目前在项中中除了 API 可不不需要 原先设计之外,还有其它有另两个 功能假使 各个模块全部前会 不可能 无缘无故使用到的都可不不需要 使用原先的思路。

假设有另两个 App 暗含什么接口,这麼怎么设计什么接口呢?按照亲戚亲戚以后 人以前设计的网络请求框架假使 把每有另两个 具体的 API (之类登录接口) 写有另两个 Request 类。

AuthManager 这俩类设计单例模式。除了具体 API 实现接口还有以下几只辦法

不可能 你的 App 业务比较简化,这麼 Request 类数目就会暴增,这以前怎么组织管理什么 Request 类假使 有另两个 现象了。

为甚要提供有另两个 空实现的类呢?确实为了方便使用。想想你使用过的 WebViewChrome 的接口回调。

这俩用法是全部前会 与其它第三方 SDK 的使用之类呢?可不不需要 感受一下,确实这俩也是以前提到的 SDK 设计思路。

这俩 Contract 接口设计思路是源于googlesamples/android-architecture 。原先的好处我认为假使 很好的管理这俩模块中的众多的接口和回调辦法 ,而维护者一看就一目了然,非常清晰。

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