IOC,DIP,DI,IoC容器

 定义html

IOC(Inversion of Control  控制反转),DIP(Dependency Inverson Principle 依懒倒置)都属于设计程序时指导原则,并无具体的实现。比较经常使用的五大原则SOLID(SRP单一职责、OCP开闭原则、LSP里氏转换原则、IOC、DIP)git

DI(Dependency Injection 依懒注入)属于模式,提供了一种具体的处理程序中对应状况的实现github

IoC容器  属于一种框架  例如框架

我只会autofac,属于菜鸟,欢迎交流spa

 

IoC原则:反转控制(通常与DIP一块儿使用)设计

用代码演示一下code

public class A
    {
        public void Task()
        {
            var b=new B();
            b.DoSomeThing();
        }
    }

    public class B
    {
        public void DoSomeThing()
        {

        }
    }

上面的代码,htm

类A建立和管理类B的对象的生命周期。它控制依赖类对象的建立和生命周期。对象

IoC原则建议反转控制,意味着将控制内容分离到另外一个类。换句话说,将依赖关系建立控件从A类反转到另外一个类,以下所示。blog

public class A
    {
        public void Task()
        {
            var b=Factory.GetB();
            b.DoSomeThing();
        }
    }

    public class B
    {
        public void DoSomeThing()
        {

        }
    }

 A类不直接建立B类,而是经过一个工厂建立。咱们就实现了控制反转

DIP原则:高级模块不该该依懒低级模块,二者都应该依懒抽象;抽象不该该依懒具体,具体应该依懒抽象

相关文章
相关标签/搜索