天弘基金移动App客户端架构优化之路

天弘基金移动App客户端架构优化之路

随着移动互联网时代的到来,移动技术也随之飞速发展。如今,APP已成为绝大多数互联网企业用来获取用户的核心渠道。与此同时,伴随着业务量的增长,愈来愈多的APP也在不断地挑战着每一个移动端研发人员的知识深度,而移动端技术人员也在这个不断接受挑战的过程中,成就了今天的移动互联网时代。

天弘基金作为一家在基金,金融行业高速发展的公司,APP面临着多重挑战,如庞大的用户群体、高频的基金业务、交易安全可靠性等等。天弘基金移动端的开发小伙伴在技术和业务的多重压力下,不断推进着天弘·爱理财移动端的架构演进。

首先介绍下大环境背景,天弘·爱理财在前端后端使用的阿里蚂蚁金融云MPaaS(移动即服务)平台。简单说就是通过这个平台把支付宝App多年的开发经验沉淀下来,帮助生态伙伴进行金融客户端的开发,提高其适应移动互联网生态的产品研发能力,同时也嵌入了移动端的安全、风控能力,并结合支付宝APP的众多应用场景来进行金融业务创新。

天弘·爱理财iOS版App早期架构

在2015年爱理财App iOS的第一个版本诞生,那时候架构很简单,基本上就是在传统的MVC的架构基础上封装了一个网络服务层构建而成的,当时iOS端整体架构如图:

爱理财App经历从无到有的阶段,为了快速上线抢占市场,其移动端App开发的MVC架构成了“短平快”思路的首选。

在早期MVC的体系架构中
- mPaas层主要负责提供一些最低层的功能支持,如数据库,RPC网络请求,分享等等
- THApiClient层为整个APP网络请求的封装层,提供所有网络请求接口的请求和接受等功能
- Services层为整个APP业务逻辑封装层,比如
- 实现账号登陆注册业务的SAAccountService
- 实现爱基金相关业务的SALoveFundService
- 实现银行卡相关业务的SABankCardService
- 实现买入卖出相关业务的SABusinessService
- Controller层为View和Services层之间的一层,起到承上启下作用,提供各个模块的UI和业务实现的连接功能
- View层为用户展现UI和用户交互UI层

这种架构随着版本迭代开发出现了越来越多的问题,在开发的后期会由于其超高耦和性,从而造就庞大Controller层,而这也是一直被人所诟病。最终的MVC都从Model-View-Controller走向了Massive-View-Controller的终点,其最严重的结果就是Control层的代码越来越多越来越臃肿难于扩展维护,同时Control层和View层之间存在一些较高的耦合。

App 2.0版本架构

基于上述我们遇到的问题,我们在原来的传统架构上又做了重新调整和优化,提出了iOS端架构V2.0,

在爱理财V2.4.0版本项目内开始逐步重构采用MVVM+分层架构模式解耦,使越来越臃肿的Controller层逐步缩小并分解解耦,业务逻辑分模块下沉。调整后的架构如下:

image

在原有的Controller层和Service层之间插入了一个ViewModel层(紫色的), 对于此次架构调整优点如下:

  1. Controller层只用来做中转层不参与业务逻辑等处理
  2. Controller层对上(View层)只提供页面展示所需数据,对下调用(ViewModel层)暴露出的业务逻辑接口
  3. 方便进行功能,业务逻辑的单元测试
  4. ViewModel层实现整个业务逻辑,实现对上层只提供接口因此此层灵活,易维护
调整前 调整后
Controller层过于复杂 Controller层只用来做中转层不参与业务逻辑等处理
老的C
  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值