1.最近看过不少的OC面向协议的开发,大体上都是基于VIPER的架构模式,当然使用VIPER不代表MVVM架构模式不好,而是在Swift中面向协议和VIPER结合起来更加明了,一目了然,分工明确,结构细化,功能模块之间耦合性极低,迭代开发或者修复问题,更方便,同样的单元测试覆盖率更广,出现问题可以提前修复
2.下面是我的大体架构模式
2.1 在core目录下,我封装了主要核心需要的类
2.2 用一个控制器大体作介绍
view是展示层
router是负责页面跳转
configuration是配置基本的参数的
interactor交互使用
prensenter负责处理数据
2.3 swift结构目录更加清晰,原因是因为Extension使用起来更加得心应手,每一个小功能模块都可以写成一个Extension,相同的当然需要写在一起
2.4 我个人觉得面向协议的好处,不关心谁处理这个业务逻辑,你需要处理,你就代理我的协议,耦合性更低,相对于OC的面向协议,.h和.m头文件乱跳,Swift的优势就更加明显了
参考地址:大神的代码
参考地址:OC版大神代码
我的代码:渣渣代码