将耦合(依赖)对象注入(转换)为解耦(独立)对象的过程称为依赖注入。
依赖注入的类型
DI 有四种类型−
构造函数注入
Setter注入
基于接口的注入
服务定位器注入
接口注入
接口注入类似对于 Getter 和 Setter DI,Getter 和 Setter DI 使用默认的 getter 和 setter,但接口注入使用支持接口(一种设置接口属性的显式 getter 和 setter)。
示例
'public interface IService{
string ServiceMethod();
}
public class ClaimService:IService{
public string ServiceMethod(){
return "ClaimService is running";
}
}
public class AdjudicationService:IService{
public string ServiceMethod(){
return "AdjudicationService is running";
}
}
interface ISetService{
void setServiceRunService(IService client);
}
public class BusinessLogicImplementationInterfaceDI : ISetService{
IService _client1;
public void setServiceRunService(IService client){
_client1 = client;
Console.WriteLine("Interface Injection ==>
Current Service : {0}", _client1.ServiceMethod());
}
}
消费
'BusinessLogicImplementationInterfaceDI objInterfaceDI =
new BusinessLogicImplementationInterfaceDI();
objInterfaceDI= new ClaimService();
objInterfaceDI.setServiceRunService(serviceObj);