MVP框架思考

2018-06-28  本文已影响0人  石器时代小古董
参考文章  https://www.jianshu.com/writer#/notebooks/3267733/notes/30072239

一、MVP和MVC区别

1.在MVC中View视图的操作(请求更改数据)首先会触发Control层的业务,Control层会调用model层数据修改方法,model层修改数据会后修改view层。这样的缺点是model层会有View的内容,以及一些业务内容(Control),并且MVC没有定义接口,就导致业务代码重用很困难。比如:View是Activity,它的业务如果想让Fragment用,就比较困难。因为Mode,Control层中都含有了View的引用,且View引用是一个Activity对象


image.png

2.mvp框架中view和presenter双向通信,presenter和model双向通信,当presenter对象充当了桥梁,含有view和model的引用。presenter如果内部含有的是一个view的接口,那么这个presneter可以拿到任何实现了view接口的View(Activity,Fragment)上。


image.png
上一篇下一篇

猜你喜欢

热点阅读