依賴注入(Dependency Injection,簡稱DI)是一種設計模式,用于解耦組件之間的依賴關系。在C#中,常見的依賴注入方式有以下幾種:
- 構造函數注入(Constructor Injection):通過在類的構造函數中聲明依賴參數,將依賴對象通過構造函數傳遞給類的實例。例如:
-
public class MyClass {private readonly IDependency _dependency;public MyClass(IDependency dependency){_dependency = dependency;}// ... }
-
- ?屬性注入(Property Injection):通過公共屬性來注入依賴對象。例如:
-
public class MyClass {public IDependency Dependency { get; set; }// ... }
-
- ?方法注入(Method Injection):通過方法參數來注入依賴對象。例如:
-
public class MyClass {public void DoSomething(IDependency dependency){// ...}// ... }
-
- ?接口注入(Interface Injection):通過接口方法來注入依賴對象。這種方式較少使用,因為它需要類實現一個特定的接口來接收依賴對象。例如:
-
public interface IDependencyInjector {void InjectDependency(IDependency dependency); }public class MyClass : IDependencyInjector {private IDependency _dependency;public void InjectDependency(IDependency dependency){_dependency = dependency;}// ... }
-