了解MVC、MVP、MVVM

2021-04-05  本文已影响0人  落魄的iOS程序员

        MVC即Model - View -Controller,MVP即Model - View - Presenter,MVVM即Model - View - ViewModel,我们可以看出其实三者都差不多,都可看做是数据 - 视图 - 控制层,那么三者区别在哪里呢?

        MVC其实就是Model处理数据,Controller负责处理逻辑将Model的数据发送给View,View负责更新显示数据;

        MVP中是以Presenter为核心,而Presenter可以看出是Controller拆分成view+Presenter,view和View合并,Presenter将Api暴露给Controller调用实现Controller和view的联系来实现响应和数据更新,和MVC的区别就是view和controller之间的解耦,view和Presenter通过协议来实现。

        MVVM就是将三者都解耦,实现双向绑定,通过观察者模式来实现,ViewModel监控view和Model,当Model数据更新时,通知view更新数据;

        MVC、MVP、MVVM个人理解三者关系其实就是一个解耦的进阶,但是数据、视图和控制层之间的联系越少其实相对越复杂,越复杂的架构耦合度越小,但是开发速度越慢,所以我们在开发中应该更加自己项目需求选择合适的架构进行开发。

上一篇 下一篇

猜你喜欢

热点阅读