重构之道

业务快速的迭代很容易令开发工作变快变糙变莽(技术水平未达标也是原因之一), 一次改版可能要对原有的代码做侵入式修改,而根据开/闭原则,这是不可接受的。

旧问题

  • 由于设计欠缺优雅性导致功能扩展性差
  • 缺少单元测试无法保证程序的鲁棒性
  • 业务,逻辑和UI的代码耦合严重

目标

  • 业务层,逻辑层和UI层分离
  • 易于业务扩展
  • 添加单元测试
  • 支持只使用Fragment

方案

  • 使用MVP模式
  • 只依赖support v4,v7
  • 通过接口和抽象类进行依赖反转
  • 使用Junit+Mokito+Espresso做测试

相关链接

哔哩哔哩Android客户端—-多媒体选择器boxing开源

用组合代替继承能为 Activity 带来什么

如何编写更棒的代码:11个核心要点