Android Design Pattern Test(2)

2016-03-15  本文已影响0人  小石头_Kerry

继续之前的工作~现在进入MVP的篇章!

MVP结构

MVP1

原文链接
MPV 是从经典的MVC模式演变过来的,其基本思路都是相通的。其中M是model模型,提供业务数据;P和MVC中的C担当的角色相似,是Presenter控制者,进行逻辑处理。V是View视图,显示数据。
MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会从直接Model中读取数据而不是通过 Controller。
之前的Demo里我们发现在MVC模式里,Activity既负责Controller又负责View,同时Activity可以通过Model获取数据。而在MVP模式中,View与Model完全分离,大大减少了Activity的职责,最大的好处就是Activity文件不会再出现上千行的情况了。

结构

在此Demo里,Model层保持不变,依旧通过网络获取数据,对外通过接口返回数据。Activity扮演View层的角色,负责界面的显示。同时实现Presenter进行中间的控制。
Presenter表示器同时持有 Model和View对象且实现了OnPhoneMsgListener接口取回Model模型数据,因此,PresenterImpl向Model发送数据请求,然后通过OnPhoneMsgListener接口实现获取请求结果,再将结果通过接口PhoneMsgView把数据显示到Activity担当的View视图中。

总结

Github地址:https://github.com/zhangke445566/AndroidDesignPatternTest

上一篇 下一篇

猜你喜欢

热点阅读