Android

Android 框架 MVC、MVP、MVVM

2020-03-17  本文已影响0人  Merbng

MVC

MVC 用一种业务逻辑、数据、界面显示分离的方法组织代码,在改进和个性化定制界面及用户交互的同时,
不需要重新编写业务逻辑。其中Model层处理数据、业务逻辑等;View层处理界面显示的结果;Controller层起到桥梁的作用,
来控制View层和Model层通信以此来达到分离视图显示和业务逻辑层。

我们往往把Android中界面部分也理解采用了MVC框架,常常把Activity理解成MVC中的Controller

  1. 耦合性低
  2. 可扩展性好
  3. 模块职责划分明确
    什么时候适合用MVC模式呢? 当一个项目很小的时候

MVP

而MVP其实是MVC的一种演进版本,它更简单,将MVC中的Controller改为了Presenter,View通过
接口与Presenter进行交互,降低耦合,方便进行单元测试

MVP的优点与问题

MVVM

和MVP模式相比,MVVM模式用ViewModel替换了presenter,其他层基本与MVP模式一样,
ViewModel可以理解成是View的数据模型和Presenter的合体,MVVM采用双向绑定(data-binding):
View的变动,自动反映在ViewModel上,反之亦然,这种模式实际上是框架替我们应用开发者
做了一些工作(相当于ViewModel类是库帮我们生成的),开发者只需要较少的代码就能实现比较复杂的交互,
这一步还是比较吸引人的,可以少些很多模版代码。

  1. 数据绑定使得bug很难被调试,你看到界面异常了,有可能是你的View代码有bug,也有可能是Model的代码的问题,数据绑定使得一个位置的bug被快速传递到新的别的位置,要定位原始问题的地方变得不那么容易了
  2. 对于过大的项目,数据绑定需要花费更多的内存。
上一篇 下一篇

猜你喜欢

热点阅读