Loading AI tools
来自维基百科,自由的百科全书
在軟體工程中,依賴注入(dependency injection,縮寫為 DI)是一種軟體設計模式,也是實現控制反轉的其中一種技術。這種模式能讓一個物件接收它所依賴的其他物件。「依賴」是指接收方所需的對象。「注入」是指將「依賴」傳遞給接收方的過程。在「注入」之後,接收方才會呼叫該「依賴」[1]。此模式確保了任何想要使用給定服務的物件不需要知道如何建立這些服務。取而代之的是,連接收方物件(像是 client)也不知道它存在的外部代碼(注入器)提供接收方所需的服務。
![]() | 此條目可參照英語維基百科相應條目來擴充。 (2023年1月) |
註:程式語言層次下,「接收方」為對象和 class,「依賴」為變數。在提供服務的角度下,「接收方」為客戶端,「依賴」為服務。
該設計的目的是為了分離關注點,分離接收方和依賴,從而提供鬆耦合以及代碼重用性。
傳統編程方式,客戶對象自己建立一個服務實例並使用它。這帶來的缺點和問題是:
依賴注入可以解決上述問題:
依賴注入涉及四個概念:
依賴注入把對象構建與對象注入分開。因此建立對象的 new 關鍵字也可消失了。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.