依赖倒置原则DIP:系统架构时,高层模块不应该依赖于低层模块,二者通过抽象来依赖,依赖抽象,而不是细节
面向抽象:1.一个方法能满足多个类型 2.支持下层扩展
IOC控制反转:
传统开发,上端依赖(调用/指定)下端对象,会有依赖
把对下端对象的依赖转移到第三方容器,能够使程序拥有更好的扩展性
DI依赖注入:依赖注入就是能做到构建某个对象时,将依赖的对象自动初始化并注入
三种注入方式:构造函数注入--属性注入--方法注入(按时间顺序)
构造函数注入用的最多,默认找参数最多的构造函数,不需要特性,可以去掉对容器的依赖
IOC是目标是效果,DI是手段是方法
如何使用Unity容器
1.nuget添加Unity5.9.7
2.实例化容器->注册类型->获取实例
3.项目版本和服务层的版本要一致