美文网首页
MVP 和 MVVM

MVP 和 MVVM

作者: 雨蒙_snow | 来源:发表于2018-07-13 14:03 被阅读0次

    对mvp 和 mvvm模式的一点理解

    最常见的客户端架构有三种:

    MVC: Model-View-Controller

    MVP: Model-View-Presenter

    MVVM: Model-View-ViewModel

    1.在 MVC 里面,Model 是数据模型;View 是视图或者说就是我们的软件界面需要去展示的东西;Controller 是用来控制Model的读取、存储,以及如何在 View上 展示数据,更新数据的逻辑控制器。

    2.MVP是单词Model View Presenter的首字母的缩写,分别表示数据层、视图层、发布层,它是MVC架构的一种演变。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过 Controlle。

    下面通过jquery的todolist 代码 演示这种模式

    在这段代码中 M 层 没有展示 (主要用了做ajax的发送),主要用了P成和V层。

    P层可以调用M层,也可以处理数据操作dom,更新V层。

    当按钮提交的时候,v层视图改变,调用p层的逻辑,p层要么调用模型层发送ajax,要么直接操作dom,

    mvp中的p是mvp中最核心的一层,如果有jquery写代码,将会有大量的代码在控制层,而且也将会有大量的代码在操作dom,

    3.

    以vue的todolist代码说明

    如果利用vue来开发项目的话,我们只需要关注m层m-数据,和v-展示,不需要关注vm成,这个是vue内置的数据处理功能,利用了es5的Object.defineProperty()这种数据拦截机制和虚拟dom机制来帮助我们处理中间转化过程的,当视图改变了,vue会自动把调用m层的事件,m层更新了数据,又会把更新后的数据映射到v中,

    相关文章

      网友评论

          本文标题:MVP 和 MVVM

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