web-dev-qa-db-fra.com

Existe-t-il un moyen robuste d'enregistrer les dépendances dans ASP.NET Core 3.1 en plus de tout ajouter dans la classe de démarrage?

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>()
10
user12310517

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.

0
Shymep