我们之前有学过依赖倒置原则。

即抽象不依赖实例的细节,而实例需要依赖于抽象。

这里带来了两个问题。

1、如果实现?

2、为了接口的单一,为了抽象完全不依赖于实例,我们必定要不断细分功能。从而创建过多的抽象和接口。过多的细分造成的代码重复如何解决?如果把重复代码合到一个工具类。造成的代码耦合又如何解耦?

针对问题1,我们采用的是IOC控制反转(Inversion of Control)技术。使用依赖注入的方式去实现依赖倒置。

针对问题2,我们采用的是AOP面向切面编程(Aspect Oriented Programming技术。我们在切面中编写各个类中会重复的代码。在切入点中使用这些代码。

下面我们就一步一步了解相应的框架和自己手写一个。

目前对于java来说,最著名的莫过于是Spring框架。但是android一般不用XML配置那一套。android一般使用注解作为切入点切入。切面的的代码主要在注解的编译器中编写。

常用的框架有。Android Annotation、EventBus、ButterKnife等等。

下一节我们挑选一种进行使用和仿写。

本文地址:https://blog.csdn.net/u013636987/article/details/108823948