Maison  >  Article  >  développement back-end  >  Comment implémenter l'injection de dépendances à l'aide de l'injection basée sur l'interface en C# ?

Comment implémenter l'injection de dépendances à l'aide de l'injection basée sur l'interface en C# ?

王林
王林avant
2023-09-07 20:09:071219parcourir

Comment implémenter linjection de dépendances à laide de linjection basée sur linterface en C# ?

Le processus d'injection (conversion) d'objets couplés (dépendants) en objets découplés (indépendants) est appelé injection de dépendances. Types d'injection de dépendances

Injection d'interface

Injection d'interface est similaire à Getter and Setter DI, où Getter and Setter DI utilise des getters et setters par défaut, mais l'injection d'interface utilise une interface de prise en charge (un getter et setter explicite qui définit les propriétés de l'interface).

Exemple
    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());
       }
    }
  • Consommation

    BusinessLogicImplementationInterfaceDI objInterfaceDI =
    new BusinessLogicImplementationInterfaceDI();
    objInterfaceDI= new ClaimService();
    objInterfaceDI.setServiceRunService(serviceObj);

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer