VIPER构架图
架构优点:
一个VIPER模块可以看做是一个独立的组件,可以被单独封装成一个库,app就负责将各个模块连接起来,实现了模块间的解耦。当业务需求更改,只需要修改交互器
,基本上就可以实现了。
View:视图层,平时用的UIViewController
。主要负责视图的显示、布局,用户事件的接受以及转发,简单的显示逻辑。
Interactor:交互器,核心部分。主要负责交互的工作,业务逻辑,网络请求,数据持久化处理,这一层获取到是最原始的数据,经过解析,处理成视图层
可以直接使用数据。
Presenter:展示器。主要解析交互器给的数据,和调用视图层
的接口。拥有视图层
相关的各种状态和配置,执行交互器
的业务逻辑,调用视图层
的接口把数据直接展示出来。
Entity::实体模型对象,平时用的model
Router:路由器。主要负责跳转页面。依赖注入对应的目的模块,减少了模块间的耦合。