依赖注入与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

用来解耦的依赖注入框架-dragger2

Dragger2依赖注入简单讲解:

首先,使用依赖注入可以带来哪些好处? 1、依赖的注入和配置独立于组件之外,注入的对象在一个独立、不耦合的地方初始化,这样在改变注入对象时,我们只需要修改对象的实现方法,而不用大改代码库。 ...

Dagger2实现依赖注入之一步一步带你入门

一、首先你要知道什么是依赖? 想要理解Dagger2,首先你要理解一个概念,就是什么是依赖,懂的同学可以省过此段。这里给大家举个通俗易懂的例子,让你秒懂什么是依赖,你今天去办港澳通行证,出入境告诉...

使用Angular2及WebApi开发SPA类型的企业应用 - Part 5- 依赖注入和控制反转

使用Angular2及WebApi开发SPA类型的企业应用 - Part 5 依赖注入和控制反转 作者:techcoaching,翻译:飘落寒冰 原文 有道 注:第一次翻译文章,有错译之处还请多...

Unity依赖注入快速入门

  • 2012-10-31 23:01
  • 242KB
  • 下载

Android中使用Dagger2进行依赖注入

Dagger2是首个使用生成代码实现完整依赖注入的框架,极大减少了使用者的编码负担,本文主要介绍如何使用Dagger2进行依赖注入。Dagger2简单介绍Dagger2,起源于Square的Dagge...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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