控制反转和依赖注入(对IOC,DI理解+案例)

理解

控制反转说的官方一点就是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其实就是一种设计思想,大概思想就是把设计好的对象交给容器控制,而不是在你内部直接控制。

依赖注入是控制反转最常见的一种方式,就是由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();
  }
}

通过这种方法进行可以减少耦合性,责任更清晰。只需要实现接口中的所有方法,其他的都不用管,简单而明确。

以上只是本人对于控制反转和依赖注入的浅显理解,还是需要博客园各位大佬进行补充和指错。

原文地址:https://www.cnblogs.com/zlguo/p/11726071.html