一直只知道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)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。