zoukankan      html  css  js  c++  java
  • Injection的简单辨析

      依赖注入(injection)是一种对任何编程语言都有效的概念。依赖注入背后的一般概念称为控制反转。根据这个概念,类不应该静态配置其依赖项,而应该从外部配置。

    如果Java类使用此类的实例,则Java类依赖于另一个类。我们称之为_class依赖。例如,访问记录器服务的类依赖于此服务类。

    理想情况下,Java类应尽可能独立于其他Java类。这增加了重用这些类的可能性,并且能够独立于其他类测试它们。

    如果Java类通过new运算符创建另一个类的实例,则不能独立于此类使用(和测试),这称为硬依赖。以下示例显示了一个没有硬依赖关系的类。

    package com.vogella.tasks.ui.parts;
    
    import java.util.logging.Logger;
    
    public class MyClass {
    
        private Logger logger;
    
        public MyClass(Logger logger) {
            this.logger = logger;
            // write an info log message
            logger.info("This is a log message.")
        }
    }
      请注意,这个类只是一个普通的Java类,没有什么特别之处,除了避免直接创建对象。

    框架类(通常称为依赖容器)可以分析此类的依赖关系。通过此分析,它可以创建类的实例,并通过Java反射将对象注入定义的依赖项中。

    这样,Java类没有硬依赖关系,这意味着它不依赖于某个类的实例。这允许您单独测试您的类,例如通过使用模拟对象。

    模拟对象(模拟)是与真实对象相似的对象。但这些嘲笑没有编程; 它们被配置为以某种预定义的方式运行。模拟是一个英语单词,意思是模仿或模仿。

    如果使用依赖注入,则可以单独测试Java类。

     

  • 相关阅读:
    x01.JavaHello
    x01.Weiqi.1 提子算法
    x01.Weiqi.3 网络对弈
    Cryptography
    Javascript判断中文字节
    asp.net mvc,asp.net4.0空间出售
    Sql Server中判断日志是否为一个星期
    DIV+CSS实现二级导航菜单
    ExecutorService线程池 [转]
    Android程序开发所用app图标的几种大小
  • 原文地址:https://www.cnblogs.com/zhuguohui/p/10550835.html
Copyright © 2011-2022 走看看