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原則:高級模塊不該該依懶低級模塊,二者都應該依懶抽象;抽象不該該依懶具體,具體應該依懶抽象

相關文章
相關標籤/搜索