.net框架中IOC控制反转与DI依赖注入原理及应用详解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1716个文字,预计阅读时间需要7分钟。
目录 + IOC控制反转 + DI依赖注入 + 服务生命周期 + 其他 + IOC控制反转 + 大部分应用程序都是这样编写的:编译时依赖关系按照运行时执行的方向流动,从而生成一个直接的依赖项关系图。也就是说,“
目录
- IOC控制反转
- DI依赖注入
- 服务生命周期
- 其它
IOC控制反转
大部分应用程序都是这样编写的:编译时依赖关系顺着运行时执行的方向流动,从而生成一个直接依赖项关系图。 也就是说,如果类 A 调用类 B 的方法,类 B 调用 C 类的方法,则在编译时,类 A 将取决于类 B,而 B 类又取决于类 C
应用程序中的依赖关系方向应该是抽象的方向,而不是实现详细信息的方向。而这就是控制反转的思想。
应用依赖关系反转原则后,A 可以调用 B 实现的抽象上的方法,让 A 可以在运行时调用 B,而 B 又在编译时依赖于 A 控制的接口(因此,典型的编译时依赖项发生反转)。 运行时,程序执行的流程保持不变,但接口引入意味着可以轻松插入这些接口的不同实现。
本文共计1716个文字,预计阅读时间需要7分钟。
目录 + IOC控制反转 + DI依赖注入 + 服务生命周期 + 其他 + IOC控制反转 + 大部分应用程序都是这样编写的:编译时依赖关系按照运行时执行的方向流动,从而生成一个直接的依赖项关系图。也就是说,“
目录
- IOC控制反转
- DI依赖注入
- 服务生命周期
- 其它
IOC控制反转
大部分应用程序都是这样编写的:编译时依赖关系顺着运行时执行的方向流动,从而生成一个直接依赖项关系图。 也就是说,如果类 A 调用类 B 的方法,类 B 调用 C 类的方法,则在编译时,类 A 将取决于类 B,而 B 类又取决于类 C
应用程序中的依赖关系方向应该是抽象的方向,而不是实现详细信息的方向。而这就是控制反转的思想。
应用依赖关系反转原则后,A 可以调用 B 实现的抽象上的方法,让 A 可以在运行时调用 B,而 B 又在编译时依赖于 A 控制的接口(因此,典型的编译时依赖项发生反转)。 运行时,程序执行的流程保持不变,但接口引入意味着可以轻松插入这些接口的不同实现。

