传统的MVC架构模式是:
M:Model,负责数据库及网络数据封装处理,V:View,负责视图渲染和用户交互和触摸事件,C:ViewController负责业务逻辑处理,三者的联系是Controller通过调用API请求完数据后封装成Model,然后供View层直接调用,在这里View层是直接调用model的,MVC的好处是分层架构,结构清晰,但是ViewController业务逻辑处理复杂,代码臃肿,需要处理model
然而MVP的架构模式是:
M:Model:负责数据处理,V:View视图层, P:Present层,与传统的MVC不同的是,MVP中View层并没有直接使用model层数据,而是通过中间件Present间接使用,即:Present通过Service层调用api接口后先进行数据处理和封装,然后以接口或者协议的方式通过View层将数据传给View层控制器进行使用,这样的好处是Controller层只进行业务逻辑处理,view层进行数据渲染,二Model层只负责数据解析,分工明确且解耦,缺点是:协议接口较多
MVVM的架构模式是:M:Model层负责数据库及网络数据解析,V:视图层,用于根据数据源进行UI创建和用户交互点击事件,VM:业务逻辑层,数据请求,将api数据请求的结果封装转化成view层识别的数据,一般是一个方法,最后发给View层(UIViewController,UIVIew)调用
可以理解为:api进行数据请求后进行数据解析,然后再ViewModel层转化为可以被View层识别可用的数据,进而再传给View层使用
MVC,MVP,MVVM架构比较总结
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 原文: iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 开篇 iOS应用架构谈 网络层设计方案 i...
- 转自http://casatwy.com/iosying-yong-jia-gou-tan-viewceng-de...
- 和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于App的架构...
- 声明:本文很多部分是对王巍App 架构一书的学习笔记,如有侵权,请告知 我们需要决定在 app 中如何执行下列任务...