依賴注入學習筆記(一)認識依賴注入

2022-02-17 01:04:48 字數 1104 閱讀 9637

1、什麼是依賴注入:

筆記摘要: 

所謂的「依賴」就是指在實現某個功能模組時需要使用另外乙個(或多個)「元件」或「服務」,那麼這個所需的「元件」或「服務」將被稱為「依賴」。

「依賴注入」通過以構造函式引數,設值方法或屬性欄位等方式將具體元件傳遞給依賴方。

以建構函式的方式注入:

<?php

class

user

//...

}$storage = new sessionstorage('session_id');

$user = new user($storage);

其他注入形式:

以設值方法注入

<?php

class

user

}以類成員變數方式注入:

<?php

class

user

$user->sessionstorage = $storage;

通過建構函式注入適用於必要的依賴,如上例;設值注入適用於可選的依賴,如專案需要乙個快取功能的實現。

個人理解:

依賴注入用於類的解耦,可以提高**的重複利用率,特別是元件或工具類的重複利用率。學習依賴注入對自身業務**的封裝理解可以有乙個新的認識

2、依賴注入容器 

「依賴注入容器」用於管理依賴的物件例項:包含依賴元件的例項化和對元件所需配置的管理。

個人理解:

外部呼叫元件時,只要配置引數,利用注入容器例項化元件,但作者舉的例子只幫我理解依賴注入容器的原理,沒有告訴我依賴注入容器使用的場景。

一般使用「依賴注入」就夠了,極少數情況需要使用「依賴注入容器」。

僅當需要管理大量依賴元件的例項時,才能真正體現「依賴注入容器」的價值(比如乙個框架)。

看了文章開頭。。。。也許是我還沒有用到依賴注入容器需要吧~~~

使用依賴注入的目的:

「依賴注入」就是為了完成這樣的目標:將 依賴元件 的配置和使用分離開,以降低使用者與依賴之間的耦合度。

依賴注入學習總結

依賴注入 dependency injection 是這樣乙個過程 由於某客戶類只依賴於服務類的乙個介面,而不依賴於具體服務類,所以客戶類只定義乙個注入點。在程式執行過程中,客戶類不直接例項化具體服務類例項,而是客戶類的執行上下文環境或專門元件負責例項化服務類,然後將其注入到客戶類中,保證客戶類的正...

依賴注入學習筆記(二)深入淺出依賴注入

1 什麼是 元件 和 服務 所謂的 依賴 就是指在實現某個功能模組時需要使用另外乙個 或多個 元件 或 服務 那麼這個所需的 元件 或 服務 將被稱為 依賴 元件 它是可能被作者無法控制的其它應用使用,但使用者不能對其原始碼進行修改的乙個功能模組。服務 指 使用者以同步 或非同步 請求遠端介面來遠端...

依賴注入學習(理論)

依賴注入的概念 依賴注入 簡稱di 與控制反轉 ioc 的含義相同,不過這兩個稱呼是從不同的角度去描述的 在乙個類 呼叫者 中呼叫另乙個物件時 被呼叫者,被依賴物件 傳統的方式是通過new來建立 這樣不是一種解耦的方式 利用一些依賴注入中介軟體後,物件的例項不在是由呼叫者建立,而是ioc容器來建立管...