一、基本的目录结构

安卓MVP模式的设计(基于Google地图的应用)

二、体会与总结     

        主要分为model、present、view三个文件夹分别保存模型、表示层以及视图,安卓的mvp模式充分利用了以里氏替换原则为主的设计模式。

       模型层提供数据处理的接口,通过实现类来实现这个接口来描述具体运算的逻辑。视图层只操作UI的显示,原则上使Activity不涉及到任何数据逻辑的运算,但实际开发中做到这一点很困难。表示层把模型层和视图层结合起来,数据的定义与修改都应该放在表示层内。

       如果复杂的界面涉及到的变量很多,视图层(即Activity)想要调用表示层中的数据,建议把表示层中的数据定义为public来操作,get/set方法虽然保证了安全性,但是操作复杂,而且存取速度不如直接访问全局变量。

       视图层中修改视图应该尽量将数据写到修改方法的形参当中去,调用方法时在访问表示层的全局变量,避免在方法中反复调用表示层中的变量。另外,对于大的界面来说,即使MVP解耦省去了大量的数据处理逻辑代码,视图(Activity)之中仍然有很多。

优化方法:通过中间件BaseActivity相隔继承省去一些常规的代码部分,使用静态工具类封装一些与数据无关的操作部分,最后就是封装,尽量将数据写到方法的形参当中去,避免重复调用。

 

相关文章: