J'ai un projet ASP.NET Core 3.1. En général, j'enregistre toute dépendance en utilisant la méthode ConfigureServices()
dans la classe Startup.cs
.
Mais, je me retrouve à devoir enregistrer beaucoup de dépendances et la ConfigureServices()
a l'air énorme! Je sais que je peux probablement créer une méthode d'extension d'une méthode statique et l'appeler à partir de la classe ConfigureService () `, mais je me demande s'il existe un meilleur moyen.
S'il existe un moyen d'enregistrer les dépendances dans le conteneur IoC sans avoir à les définir une à la fois comme ceci
services.AddScoped<Interface, Class>();
.... 200 lines later
services.AddScoped<ISettings, Settings>()
En plus de ce qui a été mentionné.
Personnellement, j'aime avoir une classe distincte enregistrant les dépendances pour chaque Assembly. Cela ajoute plus de contrôle sur l'utilisation des classes à la bonne couche et permet de les rendre internal
ce que l'OMI est bon.
Que vous utilisiez ou non les mécanismes scan
, cela dépend de vous. Certains frameworks donnent cela par défaut. Regrouper des dépendances similaires dans un ensemble de classes/méthodes, à son tour, devrait aider à maintenir la résolution de la logique dans un endroit cohérent pour toute modification. Vous pouvez combiner les deux approches.