TGViewer
C# (C Sharp) programming C# (C Sharp) programming @csharp_ci · 18.1K subscribers
Post #566 4.77K
❓Инъекция зависимостей в .NET ?❓

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

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

Зависимость — это любой объект, от которого зависит другой объект. Рассмотрим следующий класс MessageWriter с методом Write, от которого зависят другие классы:

public class MessageWriter
{
public void Write(string message)
{
Console.WriteLine($"MessageWriter.Write(message: \"{message}\")");
}
}



Внедрение зависимостей в .NET - это подход, который позволяет классам получать свои зависимости из внешнего источника, вместо того чтобы создавать их самостоятельно. Внедрение зависимостей позволяет отделить процесс создания объектов от кода, который их использует, что приводит к более модульной и гибкой системе.

Почему это нужно:
Классы отделяются друг от друга, поэтому изменения, внесенные в одно место, отражаются во всех остальных местах.

Три способа внедрения зависимостей:

▪️Scoped: Создается экземпляр на каждую область видимости.
▪️Transient: Создается новый экземпляр каждый раз при его внедрении.
▪️Singleton: Создается один объект для всех запросов, поступающих на сервер от любого пользователя.

📌 Читать подробнее

@csharp_ci
More from @csharp_ci
  1. Oct 17, 2026🌐 Новый `HttpClient` на каждый запрос? Под нагрузкой это может закончиться исчерпанием по…
  2. Oct 16, 2026🛠 У .NET появился свой аналог rustup и nvm Microsoft представила dotnetup: менеджер для у…
  3. Oct 16, 2026Запрос проходит через несколько сервисов, обращается к базе данных и внешним API. Пользова…
  4. Oct 16, 2026Post #1907
  5. Oct 15, 2026Что на самом деле происходит с вашим async-методом: компилятор C# переписывает его в конеч…
  6. Oct 14, 2026Helm-чарты прямо из C#, без запуска `helm` 🛠 HelmSharp позволяет рендерить шаблоны и упра…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →