• 对MVC、MVP、MVVM的理解(二)


    对MVC、MVP、MVVM的理解(二)

    二、MVP

    MVP模式作为MVC的改进版,把View中的逻辑处理移除,使得View作为纯粹的展示层。

    在MVP中,将原来的Controller改为了Presenter,它的意思是主持人,顾名思义是一个 承上启下的角色。

    我们可以将View中的逻辑处理都放在Presenter中,有一大部分的前端及移动端框架都使用MVP模式,在View层写纯粹的UI展示,在Presenter中绑定事件,获取View数据并对其进行处理,期间与Model交互,然后将处理好的数据在Presenter中赋值给View中的相应控件。想想我们在前端中使用基础js和jquery的时候不就是这么干的吗?

    MVP模式相对于MVC可以说是有很大的进步,现在的View只管展示,Model只管数据,其余的操作都集中在Presenter。但是这也成为了MVP的一种缺陷,不管是业务逻辑、界面处理、界面展示逻辑,甚至于事件绑定和数据获取都在Presenter中,造成Presenter层臃肿,一个文件特别长,完全不利于后期维护(尤其是碰到备注不全的项目)。

    三、MVVM模式

    作为一个WPF开发者,MVVM模式可以说是必须要去理解并应用的。MVVM模式是MVP模式的再升级版本。

    这是一种比较普遍的对MVVM的解释图解,我们可以看到一个细节,View和ViewModel之间是双向箭头,而Model和ViewModel之间是两个单向箭头。为什么要这样画呢?品,继续往下品....

  • 相关阅读:
    内容居中
    ajax验证登录注册
    html5 图片转为base64格式异步上传
    关于iframe的滚动条,如何去掉水平滚动条或垂直滚动条
    oracle数据库操作(未封装)
    oracle数据库操作(结合读取.ini文件操作)
    读取xml文件的方法
    线程练习
    TypeError: the JSON object must be str, not 'bytes'报错问题解决
    python datetime.datetime is not JSON serializable 报错问题解决
  • 原文地址:https://www.cnblogs.com/codexiaoyi/p/13082601.html
Copyright © 2020-2023  润新知