MVC,MVP,MVVM架构比较总结

2019-09-29  本文已影响0人  MichaelDing

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

上一篇 下一篇

猜你喜欢

热点阅读