前端之家收集整理的这篇文章主要介绍了
什么是MVP?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一直只知道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)。