Вопросы с тегом «dependency-injection»

82
Почему бы не использовать контейнер IoC для разрешения зависимостей для сущностей / бизнес-объектов?

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

81
Это хорошая практика - иметь логгер как синглтон?

У меня была привычка передавать логгер конструктору, например: public class OrderService : IOrderService { public OrderService(ILogger logger) { } } Но это довольно раздражает, поэтому я уже некоторое время использовал это свойство: private ILogger logger = NullLogger.Instance; public ILogger...

22
Как настроить параметры приложения в .Net Core 3 Worker Service

Я просматривал ряд учебных пособий и вопросов SO (например, « Настройки приложения .Net Core» ), касающихся чтения appsettings.json в .Net Core 3, и не могу найти никаких указаний по практическим рекомендациям при работе со службой Worker. Нет метода запуска. Вместо этого у меня есть Program.cs с...

10
В чем разница между предоставлением и введением Window в сравнении с Window в Angular 8 и 9?

У меня есть два проекта Angular, использующих эти версии: 9.0.0-next.6 8.1.0 В версии 9 я использовал это, чтобы предоставить и ввести windowобъект: @NgModule({ providers: [ { provide: Window, useValue: window }, ] }) export class TestComponent implements OnInit { constructor(@Inject(Window)...

9
Как внедрить или использовать IConfiguration в функции Azure V3 с внедрением зависимостей при настройке службы

Обычно в проекте .NET Core я создаю класс boostrap для настройки моей службы вместе с командами регистрации DI. Обычно это метод расширения, в IServiceCollectionкотором я могу вызвать такой метод, .AddCosmosDbServiceи все необходимое «самодостаточно» в статическом классе, содержащем этот метод....

9
Фабричные методы против инъекционного фреймворка в Python - что чище?

Что я обычно делаю в своих приложениях, так это то, что я создаю все свои сервисы / dao / repo / clients, используя фабричные методы class Service: def init(self, db): self._db = db @classmethod def from_env(cls): return cls(db=PostgresDatabase.from_env()) И когда я создаю приложение, я делаю...

9
Есть ли надежный способ регистрации зависимостей в ASP.NET Core 3.1 помимо добавления всего в класс запуска?

У меня есть проект ASP.NET Core 3.1. Как правило, я регистрирую любую зависимость, используя ConfigureServices()метод в Startup.csклассе. Но я чувствую, что мне приходится регистрировать множество зависимостей, и это ConfigureServices()выглядит огромно! Я знаю, что могу, вероятно, создать метод...