美文网首页
1、Dagger2的简介

1、Dagger2的简介

作者: SkyFireDragon | 来源:发表于2017-11-04 14:25 被阅读0次

    1、什么是Dagger2?

    顾名思义,Dagger2是Dagger的升级版本,是一个依赖注入的框架;Dagger2的前身版本是由牛哄哄的Sqare公司开发,后来Google对Dagger进行了升级,对于感觉自己的Activity、Fragment耦合度太高,不易维护的Android开发者,Dagger2值得一试。

    2、什么是依赖注入?

    大学里学科班出身的程序员,肯定都听说过这个;没听说过的也没关系,我解释一下:依赖注入是一种编程思想,或者说是一种编程模式,而这种思想主要解决的问题就是代码的耦合问题,那什么又是耦合呢?简单点说就是,类与类之间产生了关系,这种关系就是耦合(又称耦合度),不了解衡量耦合度标准的同学,建议点这里 复习一下了。

    那么我们如何通过依赖注入的手段实现低耦合的代码呢?

    举个例子:

    public class ClassA{

        ClassB b;   

        public ClassA(){

            b = new ClassB();

        }

    }

    上面这个简单的例子,就是一个典型的耦合的例子,当ClassB的构造方法发生变化时,我们不得不回过头来修改ClassA。在学习大话设计模式时,我们知道有六大设计原则 ,我们这么设计一开始就违背了单一变量原则,当ClassB发生变化时,我们在来修改ClassA,这又违背开放封闭原则。显然这样的设计是不合理的。

    为了解决上面的问题,我们引入依赖注入的设计模式。那么依赖注入的设计模式有那些实现方式呢?我们一一来介绍一下:

    (1)通过接口注入的方式

    interface ClassBInterface {

        void setB(ClassB b);

    }

    public class ClassA implements ClassBInterface {

        ClassB classB;

        @override void setB(ClassB b) {

            classB = b;

        }

    }

    (2)通过方法注入的方式

    public class ClassA {

        ClassB classB;

        public void setClassB(ClassB b) {

            classB = b;

        }

    }

    (3)通过Java注入方式

    public class ClassA{

        @Inject ClassB classB;

        public ClassA(){}

    }

    在这里我们就是依赖Dagger2框架,通过注解的方式,将ClassB,注入到ClassA中。

    那么我们如何在Android开发中使用Dagger2框架呢?这部分内容,我们将在《2、Dagger2的基本使用》中讨论。

    作为一个程序员,我们的目标就是写出高内聚低耦合的优秀代码。所以在Android编程过程中,一个依赖注入框架Dagger2你值得拥有。

    tips:第一次写简书,写的不好大家见谅。

    参考:http://www.jianshu.com/p/39d1df6c877d

    相关文章

      网友评论

          本文标题:1、Dagger2的简介

          本文链接:https://www.haomeiwen.com/subject/abpfmxtx.html