早期的android开发,就我而言,模块化很是的差。主要是没有这种概念和经验。也是近期一两年,才渐渐有了这样的思惟,愈来愈发现其中的好处。android
如今,大多数大公司的项目中随处可见MVP的设计模式来设计app,怎么说,用起来很是的难受,可是在后期的维护中倒是很是的有用。设计模式
前一两年,基本上都是用介于MVP和MVC之间的一种设计模式来开发app,优势就是既可以像MVC那样快速的开发,逻辑没有那么的复杂,又能带有点MVP的味道,使得各个模块之间的耦合没那么强。app
就最近的我本身一我的从0到总体app雏形完成的这个过程当中,就发现了MVP使用起来,双甜苦辣各在其中。你须要额外的去思考,如何定义一个Activity中的功能,以及功能接口的名称,在P层中还须要去维护若是有后台线程操做的状况下,如何去操控它的生命周期。另外还须要考虑MVP带来的内存泄露问题。必需要使用软引用。模块化
在开发到后期的时候,发现总体的类文件数量会是MVC设计模式的好几倍。你在A层和P层以前的解耦动做有时候也变的相对的复杂,并且还要考虑到有些P层的代码具备必定的公用性。须要作必定的抽离。线程
因此前段时间看见本身在MVP的模式下敲出来的P层不少逻辑上都很是的混乱。花了一两天去整理了一下。后期发现其实在使用了P层的开发模式以后,模块之间的代码重复冗余率低了,使用效率上高了不少。总之利仍是大于弊的,开头老是辛苦,后期就会显得很是的轻松。设计