交易所APP的重构方案

框架:

MVVM+LiveData+DataBinding

交易所项目重构.png

特点:

  • 快速开发:只需要写项目的业务逻辑,不用再去关心网络请求、权限申请、View的生命周期等问题
  • 维护方便:MVVM开发模式,低耦合,逻辑分明。Model层负责将请求的数据交给ViewModel;ViewModel层负责将请求到的数据做业务逻辑处理,最后交给View层去展示,与View一一对应;View层只负责界面绘制刷新,不处理业务逻辑,非常适合分配独立模块开发。
  • 数据绑定:满足google目前控件支持的databinding双向绑定,并扩展原控件一些不支持的数据绑定。例如将图片的url路径绑定到ImageView控件中,在BindingAdapter方法里面则使用Glide加载图片;View的OnClick事件在BindingAdapter中方法使用RxView防重复点击,再把事件回调到ViewModel层,实现xml与ViewModel之间数据和事件的绑定
  • 基类封装:专门针对MVVM模式打造的BaseActivity、BaseFragment、BaseViewModel,在View层中不再需要定义ViewDataBinding和ViewModel,直接在BaseActivity、BaseFragment上限定泛型即可使用。

Module模块

  • MvvmArms模块
    MVVM基础包,主要为基类的相关封装和相关工具类的封装。
  • Cas登录模块
    封装好cas登录的相关流程,开发人员无须关心具体实现流程,只需调 用和接受返回结果即可
  • 验证模块(短信/邮箱/极验/..)
    封装好验证流程,对APP层的接口返回code进行对接处理。
  • K线模块
    封装好K线View,提供自定义属性供开发者调用
  • WebSocket模块
    封装WebSocket通信模块,实现K线数据和聊天功能
  • 网络请求模块

App模块

  • 用户模块:

注册/登录/找回密码
用户个人信息以及相关的修改
用户的资产管理
用户的订单管理
用户的账号安全管理

  • 行情模块

行情的搜索
行情的图标/K线

  • 交易模块

币币交易/法币交易
充币
提币
交易
委托记录
聊天

App.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容