zoukankan      html  css  js  c++  java
  • 浅析mvvm模式和mvc模式的区别和联系

    三层架构与MVC模式

    三层架构

    三层架构是一种以实现“高内聚,底耦合”为目标,的代码架构方法,它将整个业务分为,表示层,业务层,数据访问层(Dao层)。
    image

    MVC模式

    MVC模式是一种软件设计的典范,一种组织代码的方法。

    M 是 model 模型
    V 是 view 视图
    C 是 control 控制器
    

    控制器是用来将不同的view和不同的model组织在一起。且mvc往往在三层架构中的表现层使用,如SpringMVC,Struct2等是优秀的用于表现层的mvc框架。MyBatis是常用于Dao层的框架。

    区别

    MVC是一种设计模式,是解决方案。三层架构是种软件架构方法。

    MVVM模式

    MVVM模式也是一种软件的架构模式,在它是(Model-View-ViewModel)的缩写,其核心是VM,VM是视图与模型之间的桥梁,它实现了视图与模型的相互映射。
    image
    在MVVM中模型的改变会引起视图的改变,视图的改变会引发模型的改变。
    image

    与MVC的异同

    1. MVVM没有MVC模式的控制器,也没有MVP模式的presenter,有的是一个绑定器。在视图模型中,绑定器在视图和数据绑定器之间进行通信。
    2. MVVM模式不同于MVC,在MVVM模式中,将ViewModel层绑定到View层后,它基本不使用点击事件,而是使用命令(Command)来控制。数据的显示也是不同于MVC,而是使用Binding来绑定相关数据。

    MVVM实例

    如VUE中的数据的双向绑定就是MVVM的一个应用:

    <!-- 该dom下的div可以看作是view -->
    <div id="example">{{message}}</div>
    
    <script>
    // data 可以看作是数据模型 model
    // Vue对象vm就是ViewModel
    var vm = new Vue({
      el: '#example',
      data: {message:'zhangsan'}
    })
    </script>
    
  • 相关阅读:
    php连接mySql数据库 示例
    javascript Worker子线程
    js + php服务器推送see(自定义推送时间)
    javascript js获取html元素各种距离方法
    javascript 浅复制 和 深复制
    javascript 对象api
    php 搭建webSocket
    javascript 客户端webSocket示例
    javascript 集合 Object Array Map Set
    javascript json语句 与 js语句的互转
  • 原文地址:https://www.cnblogs.com/flytree/p/14854935.html
Copyright © 2011-2022 走看看