По сути, вам нужно представить его в виде списка сервисов, которые регистрируются в вашем файле startup.cs и будут соответственно использоваться при выполнении вашего приложения.
Для этого у вас есть способы внедрить их, например (и, на мой взгляд, наиболее часто используемый), с помощью инжектора конструктора. Тем не менее, теперь мы можем говорить о жизнях, связанных с ними. Я кратко express их:
AddSingleton: Для каждого HTTP-запроса, который вы делаете, всегда будет использоваться один и тот же экземпляр, другими словами: всегда один и тот же экземпляр вводится из контейнера.
AddScoped : Новая служба создается с каждым HTTP-запросом, но используется только в рамках этого запроса в «разных местах» вашего приложения.
AddTransient : Для каждого HTTP-запроса будет использоваться другой экземпляр, и в «разные места» вашего приложения будет добавляться другой экземпляр.
Что касается вашего заглавного вопроса, ну, внедрение зависимостей это способ упростить создание ваших зависимостей, так как это будет сама структура, выполняющая «грязную работу».