依賴注入和容器

2021-09-19 14:05:56 字數 806 閱讀 9763

下面列子gundong方法和kaochuan方法緊密結合,偶合度高,不利於擴充套件和維護。程式設計需要降低偶合度,增加可擴充套件性。

<?php

class luntai

}class baoma

}$baoma = new baoma();

$baoma->kaochuan();

使用依賴注入優化後的寫法

<?php

class luntai

}class baoma

public function kaochuan()

}$luntai = new luntai();

$baoma = new baoma($luntai);

$baoma->kaochuan();

使用容器優化後寫法

<?php

class container

public function make($name)

}class luntai

}class baoma

public function kaochuan()

}container::bind('luntai',function());

container::bind('baoma',function());

$baoma = container::make('baoma');

$baoma->run();

依賴注入,容器的優點

降低類之間偶合度

實現惰性載入

方便管理

DI依賴注入和容器

優點 減少類和類之間的關係 容器 1.降低類與類之間的耦合度 2.實現惰性載入 需要哪個類再建立哪乙個類 3.便於管理 輪胎類 汽車類 class luntai class bmw 普通方式 bmw new bmw bmw run 依賴注入 class bmw function run luntai...

Spring IOC容器和DI依賴注入

inversion of control 控制反轉容器。作用 解決物件建立以及管理問題。解析 傳統關於物件建立 user user new user 自己控制物件的建立,自己宣告變數管理物件引用。ioc 需要物件,自己不建立,交給ioc容器建立並管理,需要的時候從ioc容器中獲取即可,這種情況就叫控...

thinkphp(trait 依賴注入 容器)

1 trait 優先順序 子類 trait 父類 3 容器與依賴注入原理 class demo1 temp setname hhh return temp getname 繫結乙個類到容器 進去是類,出來是物件 public function bindclass 繫結乙個閉包到容器 閉包現在請理解為...