加入收藏 | 设为首页 | 会员中心 | 我要投稿 台州站长网 (https://www.0576zz.cn/)- 边缘计算、中间件、数据处理、数据分析、智能存储!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

什么是MVP?

发布时间:2020-09-01 07:28:00 所属栏目:程序设计 来源:互联网
导读:一直只知道MVC(Model,View,Controller),没有听过MVP(Model,View,Presenter)。看了 Channel 9的采访,再加上这篇“ The Humble Dialog Box”的文章,大概明白了。原来,在MVC里,View还是可以直接操作Model,从而导致很多逻辑代码写在了View里头,无法方

一直只知道MVC(Model,View,Controller),没有听过MVP(Model,Presenter)。看了 Channel 9的采访,再加上这篇“ The Humble Dialog Box”的文章,大概明白了。原来,在MVC里,View还是可以直接操作Model,从而导致很多逻辑代码写在了View里头,无法方便的进行单元测试。因此,MVP希望能够进一步把View进一步压缩,真正的UI很小,而逻辑都写在Presenter里。这样,单元测试就可以针对Presenter来进行。为什么呢?因为View已经Presenter是通过接口耦合的,因为我们完全可以写一个虚假的测试用MockView来测试。这样,我们就可以测试界面的完整流程了,而不必采用什么模拟点击的方式! MVP的一个特点是,由Presenter来驱动程序的运行,View是根据需要出现的。而不是我们习惯的做法,从View开始出发驱动整个程序的运行。 MVP的好处:单元测试方便,代码重用方便 但是,MVC好像也是这个意思吧,我可是一直这么理解的。只是没想过分得这么彻底,还要做TDD(Test Driven Development)。

(编辑:台州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读