美文网首页
MVC与MVVM概念与区别

MVC与MVVM概念与区别

作者: 仔崽06 | 来源:发表于2020-08-05 13:32 被阅读0次

1.MVC


image.png
  • View:视图层 ui界面
  • controller:控制器 接受并处理用户请求通知Model改变,并将Model返回给 View
  • Model:模型 数据

优点

  1. 耦合性低:视图层和业务层分离,这样允许更改视图层代码而不用重新编译模型和控制器代码.如果改变数据层,试图会正确的显示它们,由于MVC的应用程序的三个部件是相互独立的,改变其中一个不会影响到其他两个,所以这种设计思想有良好的松耦合的构件.
    2.重用性高:MAC模式允许各种不同样式的视图来访问同一个服务端代码.应为多个视图能共享一个模型.
    3.生命周期成本低:MVC使开发和维护用户接口的技术含量降低
    4.部署快:使用MVC模式开发时间相当大的缩减,他使程序员(JAVA开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力表现在形式上
    5.可维护性高:分离视图层和业务层逻辑也是WEB应用更易于维护和修改.
    6.有利于软件工程化管理:由于不同的层各司其职,每一层不同的应用具有某些特性,有利于通过工程化、工程化管理程序代码,可以使用控制器来连接不同的模型和视图去完成客户的需求.控制器可以根据用户需求选择模型进行处理,然后选择视图处理结果显示给用户.

缺点
1.不适合小型、中等规模的应用程序
2.增加系统结构和实现的复杂性:对于简单的界面,严格遵循MVC,使模型,视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行率.
3.视图与控制器间过于紧密的连接:试图与控制器是相互分离的但却是紧密连接的部件,视图没有控制器的存在,其应用是很有限的,反而一直,这样妨碍了他们的独立重用.
4.视图对模型数据的低效率访问:依据模型操作接口的不同,视图可能需要多次调用才能获取足够的显示数据,对未变化的数据不必要的频繁访问,也将损害操作性能.
5.一般高级的界面工具或构造器不支持

2.MVVM


image.png
  • View:视图层,展示数据
  • ViewModel :使view与Model没有直接的联系,通过ViewModel交互. View数据变化会通过ViewModel同步到Model,Model数据变化会通过ViewModel同步到View.(例如vue)
  • Model:模型 数据 可以在Model中定义数据修改和操作业务逻辑.

优点
1.低耦合:视图view可以独立于Model变化和修改,一个ViewModel可以绑定到不同的‘View’上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变.
2.可重用性:可以把一些视图逻辑放在ViewModel里面,让很多view重用这段视图逻辑.
3.独立开发:开发人员可以专注业务逻辑和数据的开发,设计人员可以专注页面设计
4.可测试:界面向来比较难预测是,测试可针对ViewModel来写.

相关文章

  • MVC与MVVM概念与区别

    1.MVC View:视图层 ui界面controller:控制器 接受并处理用户请求通知Model改变,并将Mo...

  • MVVM in Swift

    参考文章: MVVM in Swift MVC 与MVVM的区别在MVC下ViewController中常常会包含...

  • Vue

    Node.js(后端)中的MVC与前端中的MVVM之间的区别 MVC是后端的分层开发概念,MVVM是前端视图层的概...

  • MVVM和MVC有什么区别

    MVVM与MVC的区别有:1、mvvm各部分的通信是双向的,而mvc各部分通信是单向的;2、mvvm是真正将页面与...

  • 3.mvc和mvvm的区别和使用

    1.mvc和mvvm的由来 2.mvvm的概念 3.mvc和mvvm的区别 4.MVVM的实践 1.model层的...

  • iOS-面试题6-架构

    目录: MVC-Apple MVC-变种 MVP MVVM 分层设计 架构与设计模式的区别 一. MVC-Appl...

  • mvc、mvp与mvvm

    1 mvc缺点 2 mvp a 简介 b 与mvc的区别 c 优缺点 d 使用建议 3 MVVM ...

  • MVC与MVVM区别?

    在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻...

  • iOS:常见架构

    常见的架构有 MVC、MVP 和 MVVM。下面分别用代码做下演示。 MVC MVP MVP与MVC的区别在于:M...

  • MVC、MVP、MVVM模式的概念与区别

    1. MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-...

网友评论

      本文标题:MVC与MVVM概念与区别

      本文链接:https://www.haomeiwen.com/subject/cxfrrktx.html