理解
控制反转说的官方一点就是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其实就是一种设计思想,大概思想就是把设计好的对象交给容器控制,而不是在你内部直接控制。
依赖注入是控制反转最常见的一种方式,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。
案例
譬如我们有一个接口层IDal层里面有个接口IModel,接口内有个IModel的方法
public interface IModel
{
string Str_Model();
}
在Dal层的Model类里面继承IDal层里的IModel接口,并实现接口里面的方法
public class Dal_Model : IModel
{
public string Str_Model()
{
return "依赖注入";
}
}
然后在Bll层里依赖IDal层里的IModel
public class Bll_Model
{
private readonly IDal.IModel _imodel;
public Bll_Model()
{
_imodel = new Dal.Dal_Model();
}
public string Str_Model()
{
return _imodel.Str_Model();
}
}
通过这种方法进行可以减少耦合性,责任更清晰。只需要实现接口中的所有方法,其他的都不用管,简单而明确。
以上只是本人对于控制反转和依赖注入的浅显理解,还是需要博客园各位大佬进行补充和指错。