在Android开发中,我们通常会遇到需要定义接口然后回调,假如有多个不同类型的回调,通常我们的步骤是:
1,定义一个接口;
2,在接口里定义不同类型的方法;
3,新建一个接口实例对象;
4,通过接口对象调用方法;
5,在主方法中回调接口方法。
当遇到多个不同类型的回调时,我们的第一想法是在一个接口里面新建出不同类型的方法,然后再在不同的场景下调用不同的方法。但是如果类型太多的话,根据这种方法则新建出来的方法就会很多,代码将会很冗长。因此我们提出了一种新的方法来解决这种困境。
我们主要针对第二步进行改进,我们利用面向对象的方法,对同一个对象只定义一个方法,而这一个对象里的不同类型则在方法里进行分类,而不是通过方法进行分类。
即不同对象通过方法分类,同一对象不同不同类型在同一个方法里进行分类。
下面通过一个例子来说明:
1.新建一个接口,同一对象不同类型通过type类型进行分类:

2.定义不同的类型:

3.新建一个接口实例对象:

4.通过实例对象调用接口方法:

5.在主方法中调用回调:

到此整个优化回调完成,通过这样的优化使代码更加合理,更符合面向对象的思想
网友评论