Иосиф Дзеранов

Инженер-разработчик .........Преподаватель.......... Наставник в мир программирования

  • Бесплатные курсы
  • Платные дистанционные курсы
  • Программирование на С#
  • Паттерны программирования
  • Внедрение зависимостей
  • Олимпиадное программирование
  • iOS
  • Контакты

Внедрение зависимостей

Жизненные стили объектов при внедрении зависимостей

30.04.2018 / Leave a Comment

Одним из важнейших аспектов внедрения зависимостей — управление жизненным циклом объектов. В .NET жизненный цикл объектов очень прост: объект создается, используется и уничтожается механизмом сборки мусора. Наличие интерфейса IDisposable немного усложняет эту картину, но сам жизненный цикл не становится сложнее. Объекты подпадают под сборку мусора, когда они становятся неиспользуемыми. И наоборот, они существуют, пока на … Читать дальше →

Posted in: Внедрение зависимостей Tagged: .Net, C#, Dependency Injection, Внедрение зависимостей

Антипаттерны внедрения зависимостей. Локатор сервисов

21.04.2018 / Leave a Comment

Главной задачей Локатора сервисов является предоставление экземпляров сервисов по запросам пользователей. Consumer использует интерфейс IService и запрашивает экземпляр у Локатора сервисов, который возвращает экземпляр той конкретной реализации, на возврат которой он сконфигурирован. Если рассматривать только статическую структуру классов, контейнеры внедрения зависимостей покажутся очень похожими на локаторы сервисов. Разница между ними очень мала и заключается не … Читать дальше →

Posted in: Внедрение зависимостей Tagged: .Net, C#, Dependency Injection, DI, DI containers, DI контейнеры, IoC, антипаттерны внедрение зависимостей, Внедрение зависимостей

Антипаттерны внедрения зависимостей. Ограниченное конструирование

14.04.2018 / Leave a Comment

Наибольшей проблемой при правильной реализации внедрения свойств является перемещение всех классов, имеющих зависимости, в корень компоновки. Распространенная ошибка — требование, чтобы все зависимости имели конструктор с определенной сигнатурой. Это вытекает из желания обеспечить динамическое связывание, чтобы зависимости можно было бы определять во внешнем файле конфигурации и, следовательно, изменять без перекомпиляции приложения. 1 2 3 4 … Читать дальше →

Posted in: Внедрение зависимостей Tagged: .Net, C#, Dependency Injection, DI containers, DI контейнеры, DI паттерны, Внедрение зависимостей

Антипаттерны внедрения зависимостей. Гибридное внедрение

08.04.2018 / 37 комментариев

Сегодня рассмотрим следующий антипаттерн внедрения зависимостей Гибридное внедрение. Перегрузка конструктора часто встречается в проектах на .NET (в том числе в библиотеке BCL). Часто код перегрузки обеспечивает наличие подходящих значений по умолчанию для одного или двух полнофункциональных конструкторов, получающих на входе все определенные параметры. 1 2 3 4 5 6 7 8 9 10 11 12 … Читать дальше →

Posted in: Внедрение зависимостей Tagged: .Net, Dependency Injection, DI паттерны, IoC, Внедрение зависимостей

Внедрение через метод (Method Injection)

28.03.2018 / Leave a Comment

Как можно внедрить зависимости в класс, если они различны для каждой операции? Путем передачи в качестве параметра метода. Если при каждом вызове метода используется другая зависимость, вы можете передать ее через параметр метода. Как это работает Вызывающая сторона передает зависимость как параметр метода при каждом его вызове. Эта процедура не сложнее, чем сигнатура представленного ниже … Читать дальше →

Posted in: Внедрение зависимостей Tagged: .Net, C#, DI, DI containers, DI контейнеры, DI паттерны, IoC, Method Injection, Внедрение зависимостей, Внедрение через метод

Внедрение через свойства (Property Injection)

25.03.2018 / Leave a Comment

Продолжаем разбираться с внедрениями зависимостей в .Net, так как данная тема является одним из обязательных к изучению для написания качественного, гибкого к изменениям и тестируемого кода. Сегодня разберем внедрение через свойство или Property Injection. Итак, поехали! Назначение Разорвать жесткую связь между классом и его необязательными зависимостями. Описание Как можно разрешить внедрение зависимостей как опцию в … Читать дальше →

Posted in: Внедрение зависимостей Tagged: .Net, C#, Dependency Injection, DI, DI containers, DI контейнеры, DI паттерны, IoC, Внедрение зависимостей

Архивы

  • Январь 2020
  • Сентябрь 2019
  • Ноябрь 2018
  • Сентябрь 2018
  • Апрель 2018
  • Март 2018
  • Февраль 2018
  • Январь 2018
  • Декабрь 2017
  • Ноябрь 2017
  • Октябрь 2017
  • Сентябрь 2017
  • Август 2017
  • Июль 2017

Copyright © 2025 Иосиф Дзеранов.

Me WordPress Theme by themehall.com