TheRedEye Ответов: 1

Инспектор новичок. Должен ли я иметь сотни addtransient<> В startup.cs?


Это мое первое приложение .net core. Инъекция зависимостей-это все о том, чтобы не создавать новые классы в приложении, а скорее вводить их в одно место, чтобы они были легко изменяемы, не так ли? Но я вижу, что очень скоро в мое приложение будет введено так много (возможно, сотни) репозиториев и других сервисов. Это нормально?

Что я уже пробовал:

Ничего не пробовал, просто наблюдательный вопрос.

1 Ответов

Рейтинг:
4

F-ES Sitecore

DI пытается отделить интерфейс от реализации, чтобы вы могли поменять классы местами, но в реальном мире это редко происходит. Самое большое преимущество заключается в том, чтобы разрешить модульное тестирование, поскольку вы можете заменить вещи издевательскими версиями служб по мере необходимости.

Что касается того, что это нормально-иметь множество регистраций, то да, это так. Некоторые DI-фреймворки позволяют вам выполнять регистрацию по конфигурации, поэтому, если у вас есть куча элементов "IMyService" и "MyService", он может автоматически сочетать их, но по моему опыту обычно предпочтительнее явно объявлять регистрации по мере необходимости.