依赖注入
概念
依赖注入是一种设计模式,最早出现在Spring中。
依赖注入(DI:Dependency Injector):指的是通过一定的规则管理对象间的依赖关系。依赖注入是控制反转(IOC)的一种实现方式。依赖注入就是将实例变量传入到一个对象中去。
控制反转(IOC:Inversion of Control):是一个重要的面向对象编程的法则,用来降低计算机程序的耦合问题。他有两种实现方式:
- 1.依赖注入
- 2.依赖查找
依赖注入是更好的IOC实现方式。
作用
将各层的对象以松耦合的方式组织在一起,解耦,各层对象的调用完全面向接口。当系统重构的时候,代码的改写量将大大减少。
实现方式
依赖注入有几个实现方式:
- 基于接口,即接口注入
- 基于属性的setter方法,即setter注入
- 基于构造函数,即构造方法注入
- 基于Filed的注解,即注解注入
参考:
仿写ButterKnife框架核心功能 掌握编译时注解+注解处理器APT生成Java代码的技术
Android进阶系列8-编译时注解框架ButterKnife浅析
android手动编写ButterKnife编译时注解框架
Android编译时技术的进阶实战打造全自动View注入框架ButterKnife
【Android进阶】——编译时技术实战,打造全自动注入框架Butter knife
Android – Annotation(注解)原理详解及常见框架应用
Android中注解的分类
深入理解编译注解(五)RetentionPolicy.SOURCE 和 RetentionPolicy.CLASS区别讨论