项目做到一定地步的时候,个别重要模块的业务代码会很多,使得添加新功能的时候变得比较容易出错,原因主要有以下几点构成:
1.代码量很大,不容易查看
2.数据处理和控件事件交织在一起很乱
3.注释写的不好
4.开发人员频繁更换,代码重复的多,随意添加新功能代码
5.不方便进行单元测试
6.恩。。暂时还没想到
其实归结到一点就是要让代码变得更加清晰,mvp在这点做的挺好,先把模式贴上:
模式将view和model两部分的处理分开了,使得每部分职责更加单一,ILsPresenter 是数据逻辑处理的接口,里面包含了所有数据处理要实现的方法,这样我们看方法就很直观,如果添加新的功能,也能比较方便的与老方法进行对比。例如:
而ILsView主要负责控件事件处理和ILsPresenter处理完数据以后activity中view的更新。例如:
不管是数据处理代码还是ui处理代码,这样分开以后看着比较清晰,如果想进行单元测试的话,new 一个view,然后测试对应的presenter 代码即可。
ILsPresenter和ILsView这两者是一个单独的业务模块,也可以此之上封装一个公共的Ipresenter和IVIew封装一些公共的方法。
模式是需要不断去用它,不断改善的,不是固定的,对于开发效率和质量有提升的肯定要进行改进。