MVC/MVP/MVVM模式的区别

MVC:

MVC分为model、view、controller三层,三者是相互联系的,之间进行单方向的通信。

用户对view进行操作之后,controller捕获到这个操作,进行相应的操作,决定调用model层哪一个接口进行相应的业务逻辑,model层执行完操作之后,将数据变更的消息传递出去,view层就通过观察者模式,获取到数据的更新,也就进行相应的视图更新。由于view层和model之间的这种关系,导致了view层强依赖于model层。


MVP:

MVP分为model、view、presenter三层。

用于对view进行操作之后,presenter捕获到操作,进行相应的业务逻辑,然后对model进行操作,model层完成数据变更的操作之后,通过观察者模式将数据变更的消息传递出去,但是接收消息的不是view层,而是presenter层,presenter接收消息之后,view进行相应 视图的更新。也就是,view层不直接与model进行通信。


MVVM:

MVVM分为model、view、viewModel三层。

MVVM的调用关系与MVP一致。但是唯一不同的是在viewModel存在binder可以实现双向数据绑定,只需要在view的模板语法中,指令式地声明显示的内容与model中哪一块数据绑定。当用户对view进行操作时,通过binder就会实现在model上数据的更新,当model层数据发生改变,通过binder,view也会进行相应的视图更新。


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

友情链接更多精彩内容