`

【转】依赖注入那些事儿 (非常好的一篇文章)

    博客分类:
  • Java
阅读更多

作者:EricZhang(T2噬菌体)
出处:http://www.cnblogs.com/leoo2sk/archive/2009/06/17/1504693.html

 

下面只转载了前言和目录。

 

依赖注入那些事儿

写在前面的话

昨天在博客园上看到一篇博文,名为“什么是依赖注入?(来听一个笑话)”[ 点击这里访问 ]。可以看出,作者是想以一种轻松幽默的方式对依赖注入的思想进行一个阐述。不过在读完文章后,个人觉得文章过于浅薄,没有真正将依赖注入的思想解释清楚,也没有深入的分析和具体的示例,所用比喻也有点低俗(至少笔者读完文章后觉得胃里不是很舒服)。

但是,这篇博文启发了我。回想自己平常的学习和工作,依 赖注入确实是软件架构和开发中一个十分重要的概念和技术,笔者参与的几乎每一个项目都用到了它,并且得到了很好的效果。于是,笔者萌发了写这篇文章的想 法,意在将依赖注入这项概念本身结合笔者的实践经验及所感所想,做一个相对完整的综述,并总结于此文。一来可以和朋友们分享这项技术及个人心得,二来也是 自己对这项技术做的一个总结。

目录

写在前面的话

目录

1 IGame游戏公司的故事

    1.1 讨论会

    1.2 实习生小李的实现方法

    1.3 架构师的建议

    1.4 小李的小结

2 探究依赖注入

    2.1 故事的启迪

    2.2 正式定义依赖注入

3 依赖注入那些事儿

    3.1 依赖注入的类别

        3.1.1 Setter注入

        3.1.2 Construtor注入

        3.1.3 依赖获取

    3.2 反射与依赖注入

    3.3 多态的活性与依赖注入

        3.3.1 多态性的活性

        3.3.2 不同活性多态性依赖注入的选择

4 IoC Container

    4.1 IoC Container出现的必然性

    4.2 IoC Container的分类

        4.2.1 重量级IoC Container

        4.2.2 轻量级IoC Container

    4.3 .NET平台上典型IoC Container推介

        4.3.1 Spring.NET

        4.3.2 Unity

参考文献

分享到:
评论

相关推荐

    .NET Core中的一个接口多种实现的依赖注入与动态选择看这篇就够了

    最近有个需求就是一个抽象仓储层接口方法需要SqlServer以及Oracle两种实现方式,为了灵活我在依赖注入的时候把这两种实现都给注入进了依赖注入容器中,但是在服务调用的时候总是获取到最后注入的那个方法的实现,这...

    c# 依赖注入 控制反转

    ### C# 依赖注入 控制反转 #### 一、IoC(控制反转)简介 IoC,即"Inversion of Control"(控制反转),是软件工程领域的一个重要概念,特别是面向对象编程中的一个关键设计原则。从字面上理解,IoC指的是程序运行...

    C++ 依赖注入

    C++依赖注入是一种设计模式,它对于简化软件设计、控制依赖关系、降低耦合度、提高代码的内聚度以及方便进行单元测试具有重要作用。依赖注入的核心思想是将依赖对象的创建和使用分离,通过第三方(例如容器)在对象...

    模仿Spring依赖注入

    本篇文章将深入探讨Spring框架中的依赖注入机制。 一、依赖注入的概念 依赖注入的核心思想是,一个对象不应该自行创建或查找它所依赖的对象,而是由外部容器(如Spring IoC容器)负责管理和提供这些依赖。通过这种...

    IoC 依赖注入 技术总结

    IoC 依赖注入技术是软件设计中的一种重要技术,旨在解决软件系统中的耦合问题。该技术的核心思想是将被调用构件实例化,并注入到调用构件之中,以实现软件系统的高内聚、低耦合。IoC 依赖注入技术可以有效地提高软件...

    PHP依赖注入容器库

    在IT行业中,依赖注入(Dependency Injection,简称DI)是一种设计模式,它有助于提高代码的可测试性、可维护性和灵活性。PHP作为一个广泛用于Web开发的动态类型语言,也有许多优秀的依赖注入容器库来支持这一模式。...

    依赖注入概念

    依赖注入是一种重要的设计模式,它帮助我们更好地组织代码结构,降低模块间的耦合度,提高代码的可测试性和可维护性。通过依赖注入容器的使用,我们可以更高效地管理和注入依赖关系,从而构建出更加灵活、易于扩展的...

    spring学习:依赖注入的几种方式讨论

    在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本文将深入探讨Spring中的依赖注入实现方式,以及如何通过样例文件...

    用Roboguice实现依赖注入

    本篇文章将深入探讨如何使用Roboguice在Android项目中实现依赖注入。 首先,让我们理解什么是依赖注入。依赖注入的核心思想是解耦组件之间的依赖关系,使得组件之间通过接口进行通信,而不是通过硬编码的方式来创建...

    两种依赖注入的类型

    依赖注入(Dependency Injection,简称DI)是面向对象编程中一种重要的设计模式,它有助于实现代码的松耦合,提高软件的可测试性和可维护性。在Java应用中,特别是Spring框架,依赖注入主要通过两种方式实现:setter...

    SSH笔记-泛型依赖注入

    在Spring 4版本中,泛型依赖注入是一项重要的特性,它极大地提高了代码的灵活性和可维护性。本笔记将深入探讨SSH中的Spring框架如何实现泛型依赖注入。 首先,我们来理解泛型的基本概念。泛型是Java SE 5引入的一种...

    guice超轻量级依赖注入

    Guice,全称为Google Guice,是一款由Google开发的轻量级依赖注入(Dependency Injection,简称DI)框架,主要用于简化Java应用的初始化和组件管理。依赖注入是一种设计模式,它可以帮助开发者解耦代码,提高软件的...

    Spring 控制反转 依赖注入

    依赖注入(Dependency Injection,简称DI)是实现IoC的一种具体方式,它允许对象在运行时动态地获取依赖,而不是在代码中硬编码依赖关系。 **Spring 框架的 IoC 容器** Spring框架的核心是IoC容器,它负责创建对象...

    Spring_依赖注入_面向接口编程

    依赖注入(DI)是Spring框架的核心特性之一,它允许我们把对象的依赖关系从代码中解耦出来,转而由Spring容器来管理。在传统的编程模式中,对象通常自行创建和管理它们所依赖的对象,但在Spring中,这些依赖是由外部...

    AngularJS之依赖注入模拟实现

    通过模拟实现AngularJS的依赖注入,可以更好地理解这一机制的工作原理,并且在不使用原生$injector的情况下,依然能够享受到依赖注入带来的好处。这不仅可以应用在学习和研究AngularJS的场景下,也对于理解依赖注入...

    轻量级 Swift 依赖注入框架.zip

    Swift 依赖注入(Dependency Injection,简称 DI)是一种设计模式,用于减少代码间的耦合,提高应用的可测试性和可维护性。在这个轻量级 Swift 依赖注入框架中,我们主要探讨的是如何在 Swift 项目中实现这一模式,...

    [依赖注入] 依赖注入 实战 (英文版)

    [Manning Publications] 依赖注入 实战 (英文版) [Manning Publications] Dependency Injection (E-Book) ☆ 图书概要:☆ Dependency Injection is an in-depth guide to the current best practices for using ...

    .NET Autofac依赖注入

    依赖注入又称之为控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency ...

    MVC4使用Autofac实现依赖注入Demo

    在软件开发中,依赖注入(Dependency Injection,简称DI)是一种设计模式,它能够帮助我们构建松耦合、可测试和可维护的代码。本文将深入探讨如何在MVC4应用程序中利用Autofac这个流行的依赖注入框架来实现DI。 ...

    PHPDI是一个依赖注入容器强大且与框架无关

    依赖注入的基本思想是,一个对象不应该直接创建或查找其依赖的对象,而是应该通过外部容器传递这些依赖。这样做可以避免对象之间的紧密耦合,使得代码更容易理解和测试。PHP-DI容器负责管理和解析这些依赖,让你只需...

Global site tag (gtag.js) - Google Analytics