MVVM

MVVM 是 Model-View-ViewModel 的简写,MVVM 模式和 MVC 模式同样,主要目的是分离视图(View)和模型(Model)

接下来给你们分享一个总结的MVVM,来吧------------------------网络

  • MVC 存在的问题
    • 模型的代码不多
    • 控制器的代码一不当心就愈来愈多
    • 很差测试

MVVM

  • MVVM 结构图

  • MVVM 概念mvc

    • 在 MVVM 中,view 和 view controller 正式联系在一块儿,咱们把它们视为一个组件
    • view 和 view controller 都不能直接引用 model,而是引用视图模型
    • view model 是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求和其余代码
  • MVVM 使用注意事项mvvm

    • view 引用 view model,但反过来不行
    • view model 引用了 model,但反过来不行
    • 若是咱们破坏了这些规则,便没法正确地使用 MVVM

MVVM 的优势

  • 低耦合:View 能够独立于 Model 变化和修改,一个 ViewModel 能够绑定到不一样的 View 上
  • 可重用性:能够把一些视图逻辑放在一个 ViewModel 里面,让不少 view 重用这段视图逻辑
  • 独立开发:开发人员能够专一于业务逻辑和数据的开发 ViewModel,设计人员能够专一于页面设计
  • 可测试:一般界面是比较难于测试的,而 MVVM 模式能够针对 ViewModel 来进行测试

MVVM 是 Model-View-ViewModel 的简写,MVVM 模式和 MVC 模式同样,主要目的是分离视图(View)和模型(Model)测试

MVC 回顾

  • MVC 结构图

  • MVC 存在的问题
    • 模型的代码不多
    • 控制器的代码一不当心就愈来愈多
    • 很差测试

MVVM

  • MVVM 结构图

  • MVVM 概念spa

    • 在 MVVM 中,view 和 view controller 正式联系在一块儿,咱们把它们视为一个组件
    • view 和 view controller 都不能直接引用 model,而是引用视图模型
    • view model 是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求和其余代码
  • MVVM 使用注意事项设计

    • view 引用 view model,但反过来不行
    • view model 引用了 model,但反过来不行
    • 若是咱们破坏了这些规则,便没法正确地使用 MVVM

MVVM 的优势

  • 低耦合:View 能够独立于 Model 变化和修改,一个 ViewModel 能够绑定到不一样的 View 上
  • 可重用性:能够把一些视图逻辑放在一个 ViewModel 里面,让不少 view 重用这段视图逻辑
  • 独立开发:开发人员能够专一于业务逻辑和数据的开发 ViewModel,设计人员能够专一于页面设计
  • 可测试:一般界面是比较难于测试的,而 MVVM 模式能够针对 ViewModel 来进行测试
相关文章
相关标签/搜索