Главная » Архив меток: dependency injection

Архив меток: dependency injection

[Перевод] Внедрение зависимостей в Go

Недавно я создал небольшой проект на языке Go. После нескольких лет работы с Java я был сильно удивлён тем, как вяло внедрение зависимостей (Dependency Injection, DI) применяется в экосистеме Go. Для своего проекта я решил использовать библиотеку dig от компании Uber, и она меня по-настоящему впечатлила. Я обнаружил, что внедрение зависимостей позволяет решить множество проблем, с которыми я сталкивался в ...

Читать далее »

Инверсия управления в iOS

Евгений Ёлчев rsi, iOS-тимлид KODE Им интересуются мои студенты в Geek University, его упоминают в чатах. В последнее время я все чаще слышу о DI. В статье подробно разберем принципы реализации DI, а также принцип IoC. Хотя паттерн далеко не молод, многие не совсем верно его понимают.Часто под DI подразумевают фреймворк, например, typhoon или swinject. Если интересно, прошу под кат. ...

Читать далее »

Как протестировать SkyNet? (если он написан на JS)

Давным давно я посмотрел Терминатор1. Немного подрос и посмотрел немного отрефакторенный Терминатор 2. Третьей интерации пришлось ждать немного дольше. И каждый раз бедному СкайНету не везло, и каждый раз все наперекосяк, и секрет этого невезения очень прост — СкайНет не был Subject Under Test (SUT). Другими словами SkyNet подзабила на тестирование, и производила разведку боем. И, как это обычно бывает, ...

Читать далее »

Паттерны внедрения зависимостей. Часть 2

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

Читать далее »

Паттерны внедрения зависимостей. Часть 1

Давайте разберемся с внедрением зависимостей в .Net, так как данная тема является одним из обязательных к изучению для написания качественного, гибкого к изменениям и тестируемого кода. Начнем мы с самих необходимых и базовых паттернов внедрения зависимостей — внедрение через конструктор и через свойство. Итак, поехали! Внедрение через конструктор Назначение Разорвать жесткую связь между классом и его обязательными зависимостями. Описание Суть ...

Читать далее »