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也会进行相应的视图更新。
网友评论