本文按照项目设计的发展过程为顺序展开
1.MVC? ? 2.MVP? ?3.MVVM? ?4.MVVP四种依次阐述
1.MVC设计模式,三块都可以交互
视图(View):用户界面。
控制器(Controller):业务逻辑
模型(Model):数据保存
2.MVP设计模式,Model与View独立,但两者都可以与Presenter交互
Presenter非常厚,很多具体实现方法都放在Presnter里面
3.MVVM设计模式
优化了MVP模式,它采用双向绑定(data-binding):View 的变动,自动反映在 ViewModel,反之亦然。
4.MVVP设计模式(首推)
MVP的升级版,添加了一个viewState的视图快照,随时观测View的状态变化
优点:
1.解决View 和 Presenter 的强耦合: View 和 Presenter 直接调用,相互独立
2 跟踪视图的状态变化。对于视图中发生的不同状态变化,有可追溯性
3.相比MVVM,只能通过观察属性的变化来进行测试,此方案具有可测试性
4.避免多线程环境状态冲突