MVC、MVVM模式的理解

什么是MVC模式?

MVC、MVVM模式的理解_第1张图片

  • MVC 是 Model-View-Controller(模型-视图-控制器)的缩写。这种模式用于应用程序的分层开发。
  • Model(模型):处理业务逻辑.

       View(视图):负责数据页面展示.(视图=数据+视图名)

       Controller( 控制器):用于处理请求,并依据请求调用相应的模型处理,将处理结果返回给视图.

  •  View层,单独实现了组合模式

        Model层和View层,实现了观察者模式

        View层和Controller层,实现了策咯模式

  • MVC模式的特点:1)耦合性低;2)重用性高;3)生命周期成本低;4)部署快;5)可维护性高;6)有利软件工程化管理;7)所有通信都是单向的。
  • MVC模式的缺点:1)没有明确的定义;2)不适合小型,中等规模的应用程序;3)增加系统结构和实现的复杂性;4)视图对模型数据的低效率访问;5)一般高级的界面工具或构造器不支持模式。

什么是MVVM模式?

MVC、MVVM模式的理解_第2张图片

  • MVVM 是 Model - View - ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定。
  • Vue.js 是一个提供了 MVVM 风格的双向数据绑定的 Javascript 库,专注于View 层。它的核心是 MVVM 中的 VM (ViewModel)。 ViewModel负责连接 View 和 Model,保证视图和数据的一致性,这种轻量级的架构让前端开发更加高效、便捷。
  • Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象。
  • MVVM 的优点:1)主要目的是分离视图和模型;2)降低代码耦合,提高视图或者逻辑的重用性;3)提高了模块的可测试性。4)各部分之间的通信,都是双向的;5)数据源和视图实现了双向绑定,很好的做到了数据的一致性。
  • MVVM 的缺点:1)数据绑定使得 Bug 很难被调试;2)数据双向绑定不利于代码重用;3)一个大的模块中,model也会很大,虽然使用方便了也很容易保证了数据的一致性,当长期持有,不释放内存,就造成了花费更多的内存。
  • 在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上

你可能感兴趣的:(mvc,mvvm,设计模式,前端)