Pull to refresh
6
Яков Штеффен@shteffen

hh.ru, iOS Dev

1
Subscribers
Send message

Прививка от созависимости. Зачем нужен DI и как он работает в iOS-приложениях hh.ru

Level of difficultyMedium
Reading time16 min
Reach and readers7.9K

Всем привет! На связи Яша Штеффен — iOS разработчик из hh.ru.

Думаю, любой, кто долгое время писал код для платформы, был свидетелем эволюции работы с зависимостями. На ранних этапах и в простых проектах все создавалось и настраивалось внутри использующих зависимости объектов. Затем частично начал применяться принцип инъекции, обычно через публичное свойство. На более крупных проектах можно было столкнуться с использованием DI‑библиотек, которые зачастую тащили за собой очень крупный блок плохо читаемого кода. При этом для решения проблемы чрезмерной связанности кода существуют элегантные и простые в использовании решения, которые не подразумевают использование сторонних библиотек.

В статье мы рассмотрим основы DI, поговорим о том, какую проблему решает этот принцип, окинем общим взглядом возможные варианты реализации: паттерны и популярные библиотеки. Подробно рассмотрим схему, по которой работает DI в многомодульном iOS проекте hh.ru. В конце статьи будет разобран пример простого приложения с аналогичным подходом к инъекции.

Читать далее

Information

Rating
Does not participate
Location
Омск, Омская обл., Россия
Date of birth
Registered
Activity

Specialization

Разработчик мобильных приложений
Средний