IOC控制反转-依赖注入

目录

  1. IOC本质
  2. 从依赖倒置原则到IOC控制反转实现
  3. 工厂+配置文件+反射=手写IOC
  4. Unity容器使用/生命周期管理/配置文件/特殊类型

 

1.IOC本质

#以前创建对象是直接new一个对象,依赖于细节 

#IOC本质其实就是一个工厂(容器)  控制翻转:

 

 

2.从依赖倒置原则到IOC控制反转实现

#从传统的new一个对象>面向抽象>第三方工厂创建对象

 

 

 #工厂方法,读取配置文件来创建对象,也可通过传递参数来创建需要的对象 

 

 

 #依赖注入:如果对象多了那么就需要依赖注入, 要想实现IOC(控制反转)的这个目标那么就需要DI(依赖注入)这个办法来帮忙

 

3.工厂+配置文件+反射=手写IOC

简单版IOC

 

 

 

 

 

 

4.Unity容器使用/生命周期管理/配置文件/特殊类型/AOP应用

#IOC就是用来创建对象的工厂,所有对象都由IOC来创建,那么会有对象生命周期,然后进行操作

#class a=new class(); 像这种都是瞬时生命周期,

#下面的BaseDAL1和BaseDAL@打印输出的是Flase,在内存中是指向两块不同的内存

 

 #单例生命周期,下面的BaseDAL1和BaseDAL@打印输出的是True,全局通过IOC创建对象,得到的实例是同一个引用

 

 #线程单例,同一个线程,同一个实例,不同线程则不用实例

#分级作用域单例

 

 

#IOC,容器多个注册 可以起别名

 

posted @   12不懂3  阅读(170)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
创作不易,请勿抄袭,欢迎转载!
点击右上角即可分享
微信分享提示