什么是MVP?

一直只知道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)。

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部