MVC,MVP,MVVM架构比较总结

传统的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层使用

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容