Просто так работает DI. Это факт. Так что прими это. Это полностью законно в сервисе как Сервис PDF, Посмотрите на этот код:

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

Сегодня я открыл один из классов в моем реальном приложении и обнаружил, что у него есть 13 зависимостей, введенных конструктором !!! Фактически каждый разработчик добавил зависимость, в которой он нуждался, в методе, который он писал.

Одно из моих представлений о DI заключается в том, что когда мы вводим зависимость конструктором, это означает, что это обязательная зависимость и она должна использоваться во всех методах класса. Если нам нужна определенная зависимость только в одном методе данного класса, что это значит для вас?

Данный класс делает слишком много? Я должен рассмотреть, чтобы создать новый тип только с необходимой зависимостью?Я должен вводить по собственности? Но в этом конкретном методе зависимость является обязательной, поэтому я не думаю, что это хороший выбор.Я должен вводить методом?

Что сложно, так это найти правильный баланс. В действительности иногда невозможно инкапсулировать поведение в чистом виде.

Я подумывал создать нечто вроде сервисного агрегатора, чтобы скрыть связанные с ними зависимости за одним из них, но хотел бы, если у вас есть другие советы. Заранее спасибо.

Ответы на вопрос(5)

Ваш ответ на вопрос