我自己对于mvp模式的理解

这里仅仅记录自己对于mvp模式的理解

mvp是从mvc演化而来的,想了解mvp就先必须了解mvc

mvc是什么, v view  m  model   c controller

他们三者的关系是什么样的呢,

view  即 视图 ,负责用户的输入,和界面的显示 ,需要数据是直接从model中拉取数据

model  数据 (网络上或者本地数据)  获取数据后处理后显示在界面上,当数据发生变化时  直接通知view更新数据

controller  负责view输入的信息后调用model的数据 呈现在界面上给用户显示  

在这里view和model是有直接的联系的,耦合性高 下面我画张图来说明mvc的关系



可以看到model和view是有直接联系的,这样子不方便测试,后期维护也很麻烦,所以演化出了mvp

mvp和mvc的区别就是model和view不再有直接的联系,所有的沟通都通过presenter来进行,他们三者的关系如下图所示

可以看到model和view是没有直接的联系了,完全通过presenter来操作,model是三者里面独立性最高的,可以方便做单元测试,

我本人还在熟悉mvp模式,所以说的不是很深刻.  我们只要理解各司其职,该谁完成的就谁做,不要混乱在一起,即便不用mvp整个项目结构也是跟清晰的,生搬硬套的话还是混论的,先理解在运用, 网络请求 数据处理 界面显示  应放在那里.


推荐一篇文章    个人认为写的不错http://www.jianshu.com/p/50c7124f408e

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容