IOC:控制反转,常规下,高层依赖低层,项目是不稳定的。我们则应该把高层对低层的依赖去掉,换成对抽象的依赖,细节交给第三方来决定,这就是控制反转,反转的目的是为了降低依赖,增强扩展性。

DI:依赖注入,其实就是在实现IOC时会遇到对象依赖问题,依赖注入就是指在IOC创建对象时,通过一定技术手段,去自动完成依赖对象的创建并传入。

构造函数注入->属性注入->方法注入(注入的顺序)

推荐函数构造注入,可以不用声明特性(AspNetCore内置容器ServiceCollection就只支持构造函数注入)

DI没有层数限制,可以一直去依赖注入,才能实现真正的IOC,是实现IOC的手段。

*增加动态链接库

容器基本使用

多层构造,当A->B->C->D->E当一层层依赖,实例化A时,先构造B传入A中,这样来从E到A是不是大大难题。

其实不是的且有三种注入方式:

注入的生命周期:瞬时生命周期,单例生命周期,线程生命周期

注册容器还是有具体的类,还是依赖了细节?

需要移植到配置文件来处理

*增加动态链接库

*增加配置文件放在运行目录

*代码实现

当多个类继承同一个接口,需要怎么区分哪个类的实例?

用别名控制

最新文章

  1. Python笔记(3)迭代器与生成器
  2. 在VS中建立.aspx,.cs,.designer.cs之间的级联关系
  3. Linux_rsylogd日志轮替(三)
  4. CentOS 7 运行级别切换
  5. Java for LeetCode 069 Sqrt(x)
  6. QTP10破解
  7. Javascript中&&和&,||和|运算符两个不同点
  8. vim 常用快捷键 二[转]
  9. 透过【百度地图API】分析双闭包问题
  10. CentOS 7 源码编译安装MySQL 5.7.14
  11. RE模块错误已解决.
  12. Mysql存储过程历史表备份
  13. 项目管理目标:添加人员并向其分配任务 - Project
  14. [Android] Android GreenDao 保存 JavaBean 或者List <JavaBean>类型数据
  15. jpa报错:Table 'dev-test.hibernate_sequence' doesn't exist
  16. ES6学习笔记<三> 生成器函数与yield
  17. asp.net web api参数
  18. poj----Maximum sum(poj 2479)
  19. Filter实现session超时自动跳转到login页,超过试用期不许登录
  20. C#使用互斥量(Mutex)实现多进程并发操作时多进程间线程同步操作(进程同步)的简单示例代码及使用方法

热门文章

  1. 走近源码:Redis如何清除过期key
  2. OpenCV-Python 轮廓特征 | 二十二
  3. 【干货】史上最全的Tensorflow学习资源汇总
  4. ArcGIS Desktop的安装
  5. Feign客户端实现RPC 调用
  6. 《Flutter 动画系列》组合动画
  7. 基于 HTML5 WebGL 的楼宇智能化集成系统(二)
  8. 使用vant的时候,报错:component has been registered but not used以及vant的使用方法总结
  9. Three.js制作一个基本的飞行3D场景【源代码】
  10. Redis底层结构概述