MVC与MVVM模型 1.MVC模型 2.MVVM模型

简介

MVC模型即 Model-View-Controller(模型-视图-控制器)模式。

  • 模型:用于封装与业务逻辑相关的数据处理方法,有数据变化时通知控制器。例如后端ORM模型。
  • 视图:简单说就是显示数据的页面。
  • 控制器:监听数据变化 -> 处理业务逻辑 -> 更新视图。

优点

  1. 使视图层和业务逻辑层分离,这样就不需要在修改业务逻辑后重新编译了。
  2. 降低开发和维护难度。
  3. 便于开发,能够更好的集中精力编写业务逻辑。
  4. 可以提高后端代码的重用性,即多视图对应一个后端逻辑。

2.MVVM模型

MVC模型即 Model-View-ViewModel(模型-视图-视图模型)模式。

  • 模型:接受后端接口传递的数据。
  • 视图:显示数据的页面。
  • 视图模型:mvvm模式的核心,负责模型与视图的数据交互和业务逻辑。即双向绑定。

优点

  1. 同样分离了视图层和模型,是MVC模型的改进版。
  2. 视图模型采用了数据双向绑定,添加数据监听,可使模型和视图进行双向数据交互。
  3. 与MVC模型相比,更利于方便测试,因为隔离了复杂的逻辑及相互引用,只需要将测试添加在viewModel层里即可。.

缺点

  1. 因为把数据的处理、监听等都添加在了viewModel层,所有增加了太多的属性、方法。
  2. 每个VC都会创建相应的类,viewModel层只会越来越庞大。