对于依赖注入一直处于一知半解的情况,只能说是知道有这个词但如何用,什么时候使用一概不知,今天略有收获记录一下
首先是依赖,简单点就是依靠,在开发中最长使用的就是实例化,可以说所有的操作就是对实例化对象的依赖,而这里的依赖是对Unity的依赖,
其次是注入,注入就是往瓶子中倒水,当然这里倒入的是Unity的容器
在unity 中首先做的就是注入对象,在unity 中使用接口和实现类作为注入对象
public class DependencyRegisterType
{
//系统注入
public static void Container_Sys(ref UnityContainer container)
{
container.RegisterType<ISysSampleBLL, SysSampleBLL>();//样例
container.RegisterType<ISysSampleRepository, SysSampleRepository>();
}
}
既然实现类可以有多个,这就实现了松散耦合,关键还是看后面的实现类的引用。
既然有了注入,就需要有生成Unity容器的地方,这里在全局函数Global.asax 中实现生成注入
//注入 Ioc
var container = new UnityContainer();
DependencyRegisterType.Container_Sys(ref container);
DependencyResolver.SetResolver(new UnityDependencyResolver(container));
代码下载地址:https://download.csdn.net/download/xunbaogang/10631616