Outils pour utilisateurs

Outils du site


developpement:dotnet:structuremap

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
developpement:dotnet:structuremap [2017/10/26 17:01] – [Exemple avec ASP.NET Core] sgariepydeveloppement:dotnet:structuremap [2023/07/03 20:21] (Version actuelle) – créée sgariepy
Ligne 5: Ligne 5:
 Cette page est une prise de notes Cette page est une prise de notes
  
 +
 +Alternative : [[https://autofac.org/|Autofac]]
 ====== Exemple avec ASP.NET Core ====== ====== Exemple avec ASP.NET Core ======
 +
 +Installer le package StructureMap:
 +
 +  <PackageReference Include="StructureMap" Version="4.5.2" />
 +
 +  PM> Install-Package StructureMap
 +
 +Le package ''StructureMap.Microsoft.DependencyInjection'' peut également être utilisé.
 +
 +Le package ''StructureMap'' (4.5.2) est surtout utilisé pour .NET Framework, mais fonctionne quand même avec .NET Core.
  
 Créer un service quelconque.  Ce service doit avoir son interface.  Par exemple, on a un service ''CarsProviderService'' qui implémente ''ICarsProviderService'' Nous avons la méthode ''GetCars()'' dans ce service qui retourne une liste de voitures avec la marque, le modèle, l'année, etc. Créer un service quelconque.  Ce service doit avoir son interface.  Par exemple, on a un service ''CarsProviderService'' qui implémente ''ICarsProviderService'' Nous avons la méthode ''GetCars()'' dans ce service qui retourne une liste de voitures avec la marque, le modèle, l'année, etc.
 +
 +<code csharp>
 +public interface ICarsProviderService
 +{
 +    Dictionary<Guid, CarDto> GetCars();
 +}
 +</code>
  
  
Ligne 37: Ligne 56:
 } }
 </code> </code>
-====== Nombre d'instances ======+====== Registres ======
  
 +Les ''Registry'' servent à //enregistrer// des services.  Voir la [[http://structuremap.github.io/registration/registry-dsl/|documentation sur les Registry]].
 +
 +
 +<code csharp>
 +public class SomethingRegistry : StructureMap.Registry
 +{
 +    public SomethingRegistry()
 +    {
 +        this.For<ISomeService>().Use<ConcreteSomeService>().Singleton();
 +        
 +        this.For<ICarService>().Add<IVolvoCarService>().Named("volvo");
 +        this.For<ICarService>().Add<IFordCarService>().Named("ford");  
 +        
 +        this.For<Consumer>().Use<Consumer>().Ctor<ICarService>().IsNamedInstance("volvo");      
 +    }
 +}
 +</code>
  
  
developpement/dotnet/structuremap.1509030114.txt.gz · Dernière modification : 2022/02/02 00:43 (modification externe)