在C#中實現依賴注入的不同方法及其優勢是什麼?
將耦合(依賴)物件注入(轉換)到解耦(獨立)物件的過程稱為依賴注入。
依賴注入的型別
有四種類型的DI
1. 建構函式注入
2. Setter注入
3. 基於介面的注入
4. 服務定位器注入
建構函式注入
建構函式用於透過引數化建構函式公開的介面引數。
它透過建構函式方法注入依賴項,作為建立其他類的物件。
Setter注入
Getter和Setter注入透過使用預設的公共屬性過程(例如Getter(get(){})和Setter(set(){}))來注入依賴項。
介面注入
介面注入類似於Getter和Setter DI,Getter和Setter DI使用預設的getter和setter,但介面注入使用支援介面,這是一種設定介面屬性的顯式getter和setter。
服務定位器注入
服務定位器注入也稱為依賴吸收。它用於替換new運算子。它透過直接呼叫方法(無需建立物件)來隱藏類依賴關係。
DI的優勢
減少類耦合
提高程式碼可重用性
改進程式碼可維護性
改進應用程式測試
集中式配置
依賴注入的缺點
依賴注入的主要缺點是,如果例項太多並且需要解析的依賴項太多,則同時使用許多例項可能會變得非常困難。
廣告