从intent中获取数据

version1

各个activity分别获取intent,并从intent中获取各种类型数据。
这是常规方法,缺点是重复代码多。

version2

在baseActivity中提供从intent中获取各种类型数据的方法。
优点是各子类代码得到简化,但baseActivity代码量多,且子类需要调用的方法数量太多。

version3

因为从intent中获取数据时,传递的参数相似,只有最后一个参数类型不同,因此可以使用泛型方法。
优点是,子类调用baseActivity中方法时,只需要调用一个泛型方法,简化了子类调用。
缺点是,baseActivity中代码量太多,且不同项目都有这个需要,重用这个功能时是代码直接拷贝,一个功能代码,多处同时存在多份,不利于维护。

version4

因为在baseActivity中从intent获取数据的功能内聚性高,所以可以将功能代码放在单独类中实现,然后在baseActivity中通过组合使用这一功能。
优点:简化了baseActivity代码;其它项目可以通过这个类方便地复用这一功能。同一功能方法集中在一个类中实现,不同使用的地方通过组合使用这一功能,利于代码维护。

思路总结

  1. 重复代码集中在一个单独类中实现,一般是基类
  2. 多个参数类型类似的方法存在时,考虑使用泛型方法。简化调用
  3. 内聚度高的代码放在一个单独类中,然后组合在类中。利于维护,且简化代码

你可能感兴趣的:(从intent中获取数据)