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

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

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

Month: Апрель 2018

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

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, Внедрение зависимостей

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

04.04.2018 / 179 комментариев

Паттерн можно считать общим языком, который можно использовать для краткого описания сложных концепций. С другой стороны, когда концепция (или скорее ее реализация) искажается, мы имеем дело с антипаттерном. Антипаттерн — это описание распространенного решения проблемы, из-за которого возникают серьезные негативные последствия. Антипаттерны часто возникают из-за игнорирования чего-либо и их однозначно следует избегать. Антипаттерны представляют собой … Читать дальше →

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

Архивы

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

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

Me WordPress Theme by themehall.com