Dependency Injection in Android
Обо мне
Пишу код, больше ничего не умею…
3
Идея
- Переиспользование компонентов
4
Идея
- Переиспользование компонентов
- Лёгкость в тестировании
5
Идея
- Переиспользование компонентов
- Лёгкость в тестировании
- Стандартизированый код
6
ВНИМАНИЕ
7
Проблемы
Проблемы
- Память
9
Проблемы
- Память
- Скорость
10
Проблемы
- Память
- Скорость
!
- Порог вхождения
11
Dagger
Dagger
(Directed Acyclic Graph) + ger
13
Dagger
(Directed Acyclic Graph) + ger
- поддержка Андроид
!
14
Dagger
(Directed Acyclic Graph) + ger
- поддержка Андроид
- создание графа на этапе компиляции
!
15
Dagger
(Directed Acyclic Graph) + ger
- поддержка Андроид
- создание графа на этапе компиляции
- определение циклических з...
Dagger
(Directed Acyclic Graph) + ger
- поддержка Андроид
- создание графа на этапе компиляции
- определение циклических з...
Dagger
(Directed Acyclic Graph) + ger
- поддержка Андроид
- создание графа на этапе компиляции
- определение циклических з...
Dagger vs Roboguice
- Cтатический анализ зависимостей
19
Dagger vs Roboguice
- Cтатический анализ зависимостей
- Ошибки во время компиляции
20
Dagger vs Roboguice
- Cтатический анализ зависимостей
- Ошибки во время компиляции
- Не использует reflection
21
Dagger vs Roboguice
- Cтатический анализ зависимостей
- Ошибки во время компиляции
- Не использует reflection
- Выигрывает...
В код…
В код…
24
Dagger (компоненты)
ObjectGraph - менеджер зависимотей и
инжектор
25
В код…
26
Dagger (компоненты)
ObjectGraph - менеджер зависимотей и
инжектор
@Module + @Provides - механизм
предоставления зависимост...
В код…
28
Dagger (компоненты)
ObjectGraph - менеджер зависимотей и
инжектор
@Module + @Provides - механизм
предоставления зависимост...
Вопросы ?
Спасибо за внимание!
Давид Майборода	

dmayboroda@yandex-team.ru
Dependency Injection в Android, Давид Майборода
Upcoming SlideShare
Loading in …5
×

Dependency Injection в Android, Давид Майборода

680 views

Published on

DI — популярный паттерн, кочующий между разными платформами. Android не исключение: появляется всё больше фреймворков для построения Android-приложений с использованием инъекций.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
680
On SlideShare
0
From Embeds
0
Number of Embeds
266
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Dependency Injection в Android, Давид Майборода

  1. 1. Dependency Injection in Android
  2. 2. Обо мне Пишу код, больше ничего не умею… 3
  3. 3. Идея - Переиспользование компонентов 4
  4. 4. Идея - Переиспользование компонентов - Лёгкость в тестировании 5
  5. 5. Идея - Переиспользование компонентов - Лёгкость в тестировании - Стандартизированый код 6
  6. 6. ВНИМАНИЕ 7
  7. 7. Проблемы
  8. 8. Проблемы - Память 9
  9. 9. Проблемы - Память - Скорость 10
  10. 10. Проблемы - Память - Скорость ! - Порог вхождения 11
  11. 11. Dagger
  12. 12. Dagger (Directed Acyclic Graph) + ger 13
  13. 13. Dagger (Directed Acyclic Graph) + ger - поддержка Андроид ! 14
  14. 14. Dagger (Directed Acyclic Graph) + ger - поддержка Андроид - создание графа на этапе компиляции ! 15
  15. 15. Dagger (Directed Acyclic Graph) + ger - поддержка Андроид - создание графа на этапе компиляции - определение циклических зависимостей ! 16
  16. 16. Dagger (Directed Acyclic Graph) + ger - поддержка Андроид - создание графа на этапе компиляции - определение циклических зависимостей - отсутствие неполных модулей ! ! 17
  17. 17. Dagger (Directed Acyclic Graph) + ger - поддержка Андроид - создание графа на этапе компиляции - определение циклических зависимостей - отсутствие неполных модулей - стандарт JSR-330 ! 18
  18. 18. Dagger vs Roboguice - Cтатический анализ зависимостей 19
  19. 19. Dagger vs Roboguice - Cтатический анализ зависимостей - Ошибки во время компиляции 20
  20. 20. Dagger vs Roboguice - Cтатический анализ зависимостей - Ошибки во время компиляции - Не использует reflection 21
  21. 21. Dagger vs Roboguice - Cтатический анализ зависимостей - Ошибки во время компиляции - Не использует reflection - Выигрывает по памяти 22
  22. 22. В код…
  23. 23. В код… 24
  24. 24. Dagger (компоненты) ObjectGraph - менеджер зависимотей и инжектор 25
  25. 25. В код… 26
  26. 26. Dagger (компоненты) ObjectGraph - менеджер зависимотей и инжектор @Module + @Provides - механизм предоставления зависимостей 27
  27. 27. В код… 28
  28. 28. Dagger (компоненты) ObjectGraph - менеджер зависимотей и инжектор @Module + @Provides - механизм предоставления зависимостей @Inject - механизм для запроса зависимостей 29
  29. 29. Вопросы ?
  30. 30. Спасибо за внимание! Давид Майборода dmayboroda@yandex-team.ru

×