如何通过依赖注入优化对象间的关系构建?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1701个文字,预计阅读时间需要7分钟。
依赖注入(DI)是控制反转(IoC)的一种实现方式。目前,在.NET和Java领域已有许多基于DI思想的容器对象,如Spring、Unity等。本文将简要介绍DI基础知识及其容器对象的使用。
依赖注入(DI)是控制反转(IoC)的一种方式。目前,在.NET和Java领域已经有相当多基于DI思想的对象容器,如:Spring,Unity等。本文试图避免重复性地介绍DI基础知识和DI容器的使用,而是希望深一层探讨DI的本质和对象间关系,以达到合理设计避免滥用DI的目的。
依赖注入 vs 创建对象
有不少地方这样描述:“依赖注入改变了使用对象前先创建的传统方式,而是从外部注入依赖的对象”。这样的描述其实似是而非,先来看一个例子:
interface ICar{
void Run();
}
class Person{
public ICar Car {
set { m_car = value; }
}
public void Drive() { m_car.Run(); }
private ICar m_car;
}
Person不主动创建所依赖的ICar对象,而是通过DI方式注入。
本文共计1701个文字,预计阅读时间需要7分钟。
依赖注入(DI)是控制反转(IoC)的一种实现方式。目前,在.NET和Java领域已有许多基于DI思想的容器对象,如Spring、Unity等。本文将简要介绍DI基础知识及其容器对象的使用。
依赖注入(DI)是控制反转(IoC)的一种方式。目前,在.NET和Java领域已经有相当多基于DI思想的对象容器,如:Spring,Unity等。本文试图避免重复性地介绍DI基础知识和DI容器的使用,而是希望深一层探讨DI的本质和对象间关系,以达到合理设计避免滥用DI的目的。
依赖注入 vs 创建对象
有不少地方这样描述:“依赖注入改变了使用对象前先创建的传统方式,而是从外部注入依赖的对象”。这样的描述其实似是而非,先来看一个例子:
interface ICar{
void Run();
}
class Person{
public ICar Car {
set { m_car = value; }
}
public void Drive() { m_car.Run(); }
private ICar m_car;
}
Person不主动创建所依赖的ICar对象,而是通过DI方式注入。

