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,反之亦然
本文对比了三种常见的软件架构模式:MVC(Model-View-Controller)、MVP(Model-View-Presenter)及MVVM(Model-View-ViewModel)。详细介绍了每种模式的数据流走向、特点及存在的问题。MVC中View直接访问Model,导致View更改较为困难;MVP通过Presenter解耦View与Model,但Controller依然复杂;MVVM采用双向绑定简化数据同步。
2339

被折叠的 条评论
为什么被折叠?



