架构自我笔记

https://www.jianshu.com/p/072552705610 知识点来源

MVC和MVVM的关系

M还是M,V将原来C(ViewController)也当成了V,C被换成了VM

MVC中C同时持有V和M,C操作V和M,M变化通过C修改V,V触发时间通过C改变M

MVVM中VM持有M,V持有VM,V修改M需要通过VM,M的变化通知给到VM,VM再出发V发生改变

VIPER

View 视图或视图控制器,负责展示,捕获用户交互事件,事件触发后调用 Presenter 执行对应的业务逻辑  (点歌台、舞台、大屏幕)

Presenter 处理相关的业务逻辑,控制View显示更新,调用Interactor获取需要的数据 (主持人、演员)

Entities 基础的数据单元,格式化的数据结构 (物料、道具)

Interactor 负责获取组合拼接Entities,提供目标数据值,通过回调给到 Presenter (后勤人员、助理)

Route 负责场景切换 (总导演?更换舞台、主持人)

View 持有 Presenter(触发业务逻辑)

Presenter 弱引用 View(用作回调数据更新显示),持有 Interactor(调用获取数据)

Interactor 弱引用 Presenter(用作回调目标数据),负责获取/生成 Entities(数据库、网络等方式方法)

Entities 只是数据模型

Route 调控 View 和 Presenter

原文地址:https://www.cnblogs.com/yuxiaoyiyou/p/14807648.html