MVC MVP MVVP 特点区别简要归纳

mvc

model view controller

用户 ->操控界面 ->业务逻辑 ->更新数据 ->更新view

特点:单向通信,view直接访问model

总结:1. view依赖model,view带有业务逻辑,更改view相对困难 2. Controller会变得很复杂

 

mvp

model view Presenter

用户 ->操控view ->presenter ->更新数据 ->presenter->更新view

特点:双向通信,view和model完全分离,所有逻辑交互都在presenter(view可能也会存在业务逻辑)

总结:解决了mvc的第一个缺点,第二个缺点仍没有解决

 

 

mvvm

model view viewmodel

用户 ->viewViewModel ->更新Model ->通知ViewModel发生数据变化 ->viewModel更新View

特点:双向绑定 view和Model的变动自动反应在ViewModel,反之亦然

 

你可能感兴趣的:(Android基础篇)