111222

iOS高可用松耦合架构的探索心得--viper

2017-12-06  本文已影响119人  共田君

前言

部门最近引进一个新物种,一种高可用松耦合的iOS框架,用于路由view,uiviewcontroller,service的路由器,梳理一下整体思路来看就是两个字,折腾。折腾小的view,小组建,小的service,好处后面说,缺点是代码多,理解困难,有点小题大作多意思。

优点是重视细节,重视划分职责,组件化有利于团队开发,协议声明有利于跨部门开发。

实现

实现上,是用于服务发现,注册声明,统一调用的方式。由于是协议声明,所以不用关心内部的实现,那有人说头文件也可以啊,其实限制是头文件可能会改名字改类别,带来使用者迷惑,不如跟api一样暴露一些方法声明即可,内部这几个方法固定其他的随意编写。使用上面是根据要调用的方式传参,比如push,present,addsubview,remove,pop,dismiss,而且会在各个生命周期调用阶段会有回调。

架构图

VIPER 的主要部分是:

image image

数据流向图

image

开发阶段注意

模块划分问题,不同模块之间的划分应该尽量简单

交互层,只放界面逻辑

实体数据层,只放界面或元素实体

解决代码复杂的问题,创建模板,把常用的规则的写法放到模板上面去

后记

这种架构其实是viper是MVVM的升级版本,用于解决单元测试单一职责问题

https://github.com/Zuikyo/ZIKRouter

https://zuikyo.github.io/

使用 VIPER 构建 iOS 应用

https://objccn.io/issue-13-5/

viper模板

https://github.com/Zuikyo/ZIKViper

上一篇 下一篇

猜你喜欢

热点阅读