依赖注入与Dragger2使用入门

原创 2015年12月24日 21:49:08

依赖注入

在开始之前,我们先要搞懂什么是依赖注入。

第一个版本。

/**
 * Created by REXZOU on 2015/11/21.
 */
public class Motor {

    public void addGas() {

    }

}
/**
 * Created by REXZOU on 2015/11/21.
 */
public class Car {
    private final Motor mMotor;

    public Car() {
        mMotor = new Motor();
    }
}

我们用下图表示两者关系
这里写图片描述
我们要制造一台汽车,每台汽车里面包含了一个发动机。但我们发现汽车和引擎的结合太紧密了,比如想汽车从汽油机改为柴油机,那就重新造一台汽车,太费事了。于是,我们把汽车类稍为改一下。

/**
 * Created by REXZOU on 2015/11/21.
 */
public class Car {
    private  final Motor mMotor;

    public Car(Motor motor) {
        mMotor = motor;
    }
}

现在不一样,我们的发动机不是和汽车一起制造的,而变成组装了。是在外面造好之后,再安装进来,他们逻辑关系图就成了以下这样:

这里写图片描述

这样,当我们改变发动机的参数或是类型时,我们都不需要去修改汽车Car这个类。

这个问题解决了,新的问题又来了,谁来负责创建Motor。

这个时候,需要Dragger出场了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Dragger2使用心得笔记

Dagger2 是一个Android依赖注入框架,由谷歌开发,最早的版本Dagger1 由Square公司开发。依赖注入框架主要用于模块间解耦,提高代码的健壮性和可维护性。Dagger 这个库的取名不...
  • watertekhqx
  • watertekhqx
  • 2016年08月02日 16:40
  • 1325

Dragger2的简单使用

a.什么是依赖:假设有2个类,在类B中有类A的实例,这时我们就说,B对A产生了依赖 public class Dog { … Cat cat; ...
  • guanyueliuxing
  • guanyueliuxing
  • 2016年12月12日 12:45
  • 300

Dragger2简单使用

原文链接:http://www.cnblogs.com/all88/p/5788556.html 什么是Dagger2 Dagger是为Android和Java平台提供的一个完全静态的...
  • ZJL_Study
  • ZJL_Study
  • 2017年05月10日 16:12
  • 298

Dragger 2遇到的坑 Dragger2详解 Dragger2学习最好的资料

我是曹新雨,我为自己代言。现在的菜鸟,3年以后我就是大神。为自己加油。微信:aycaoxinyuDragger2是什么,我就不再说了。资料一堆,而且里面的注解什么意思,我推荐两篇文章,这两篇都是我精挑...
  • u013270444
  • u013270444
  • 2016年07月14日 09:03
  • 6513

Dragger2的原理

转自http://www.jianshu.com/p/39d1df6c877d 博主讲的实在是好, 我简单记录一下, 方便自己的记忆. (1)使用场景, 一个类需要使用另一个类作为成员的时候. ...
  • liyang_nash
  • liyang_nash
  • 2017年11月23日 17:23
  • 39

Retrofit2.0+RxJava+Dragger2实现不一样的Android网络架构搭建

Tamic :csdn http://blog.csdn.net/sk719887916 Retrofit2.0+RxJava+Dragger2实现不一样的Android网络构架搭...
  • sk719887916
  • sk719887916
  • 2016年09月12日 10:33
  • 2019

Dagger2基本使用与原理

上一篇介绍了Dagger2的一些注解点击打开链接 一、Dagger2的一些简单配置 1.在build.gradle(project..)中添加apt插件 classpath 'com.neenbeda...
  • fan_zyf
  • fan_zyf
  • 2017年05月12日 13:44
  • 705

dagger2-重点篇

Qualifier(限定符)、Singleton(单例)、Scope(作用域)、Component的组织方式概念讲解 dagger2能带来哪些实惠?...
  • Wen_Demo
  • Wen_Demo
  • 2016年03月28日 15:52
  • 4757

依赖注入之Dragger2初探

Dragger2 Dagger2是Google提供的依赖注入框架,依赖注入为Android中组件之间的解耦提供了很好的解决方案。Dagger2已经在越来越多的开源项目中被使用,其已经发展成为...
  • xuexiangjys
  • xuexiangjys
  • 2018年01月05日 18:46
  • 22

依赖注入框架-dragger2

用来解耦的依赖注入框架-dragger2
  • zsr0526
  • zsr0526
  • 2017年03月15日 22:24
  • 446
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:依赖注入与Dragger2使用入门
举报原因:
原因补充:

(最多只允许输入30个字)