MVVM和MVC

MVVM

是什么

MVVM 模式:就是 Model-View-ViewModel 模式的简写。

Model:是对应数据层的域模型,主要做域模型的同步。通过 Ajax 等完成客户端和服务端业务 model 的同步,在层间关系里,它主要用于抽象出 ViewModel 中视图的 Model。

View:作为视模板存在,在 MVVM 里,整个 View 是一个动态模板。它展示的是 ViewModel 层的数据和状态。View 做的是数据绑定的声明、指令的声明和事件绑定的声明。

ViewModel:把 View 需要的数据暴露,处理 View 层的具体业务逻辑。当 ViewModel 中的数据发生变化,View 层会得到更新;而当 View 中声明了双向绑定后,View 中绑定的值发生变化后 ViewModel 中的数据也会自动更新。

优缺点

优点

  1. 双向绑定技术,当 Model 变化时,View-Model 会自动更新,View 也会自动发生变化。
  2. View 的功能进一步强化,具有控制的部分功能。
  3. 不用再为看到庞大的控制器逻辑发愁。

缺点

 

  1. 数据绑定使 Bug 难调,看到界面异常后,可能是 View 有 Bug;也可能是 Model 代码出了问题。
  2. 一个大模块中 Model 也会很大,虽然方便使用也容易保证数据一致性,但长期持有不释放内存就会花费更多内存。
  3. 双向数据绑定不利于代码重用。

MVC

是什么

MVC:MVC 是一种框架模式,它采用模型(Model)-视图(View)-控制器(Controller)的方法把业务逻辑、数据和界面分离。MVC 的理念就是把数据处理数据展示程序/用户的交互三者分离的一种编程模式。

优缺点

优点

  1. 多个视图共享一个模型,大大提高了代码的可重用性。
  2. 三个模块相互独立,改变其中一个不会影响其他两个。
  3. 控制器提高了应用程序的灵活性和可控制性。

缺点

  1. 增加了系统结构和实现的复杂性。
  2. 视图与控制器过于紧密连接。
  3. 视图与模型的低效率访问。

 

posted @   守鹤  阅读(91)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示