DITranquallity - небольшая библиотека для внедрения зависимостей в приложениях, написанных на чистом Swift. Несмотря на её размер, она решает достаточно большой спектр задач, в том числе поддерживает Storyboard. Главное её преимущество над остальными - поддержка модульности, подробное логирование и валидация графа зависимостей.
- Поддержка чистых Swift типов
- Внедрение зависимостей через: метод инициализации, свойства, метод
- Указание тега, имени и получение множества
- Поддержка указания нескольких сервисов
- 5 времен жизни: single, perRun(.weak/.strong), perContainer(.weak/.strong), objectGraph, prototype, custom
- iOS/macOS Storyboard и StoryboardReference
- Поддержка циклических зависимостей
- Несколько уровней абстракций: тип, часть, фреймворк
- Краткий синтаксис получения экземпляра клаcса
- Внедрение через свойства с помощью keyPath (начиная с swift 4.0))
- Логирование
- Валидация графа зависимостей
- Внедрение в subview и ячейки
- Отложенное внедрение
- Потокобезопасный
- Знакомство с идеей "инверсии зависимостей" и "внедрения зависимостей"
- Добавление DITranquallity в ваш проект
- Регистрация
- Разрешение зависимостей
- Что дальше?
- Внедрение зависимостей через свойства
- Внедрение циклических зависимостей через свойства
- Внедрение зависимостей через свойства используя KeyPath