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 22:17] 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 ======
  
Ligne 11: Ligne 13:
   <PackageReference Include="StructureMap" Version="4.5.2" />   <PackageReference Include="StructureMap" Version="4.5.2" />
  
-  Install-Package EntityFramework+  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.
Ligne 51: 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.1509049054.txt.gz · Dernière modification : 2022/02/02 00:43 (modification externe)