Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
yura91
29 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,235
#1

Как работает внедрение зависимостей, и зачем нужно его использовать? - Android

28.09.2016, 11:37. Просмотров 340. Ответов 12
Метки нет (Все метки)

Как работает внедрение зависимостей? И в каких ситуациях, зачем нужно его использовать?Например если я объявил поле как @Inject то как к нему потом обращаться как его инициализировать можете подробно объяснить на каком нибудь простеньком примере?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2016, 11:37     Как работает внедрение зависимостей, и зачем нужно его использовать?
Посмотрите здесь:

Как использовать ListView.setHeaderView() Android
Как использовать RadioButton в ListView? Android
Android Как использовать TextView?
Что и зачем такое appcompat_v7 - как убрать ? Android
Зачем нужно два onResume() в Активити? Android
Android Шагомер - Какие для этого нужно использовать сенсоры?
Помимо файла apk, образовался файл resources.ap_. Его нужно будет заливать на сайт тоже? Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2063 / 1805 / 562
Регистрация: 12.05.2014
Сообщений: 6,430
Завершенные тесты: 1
28.09.2016, 11:51     Как работает внедрение зависимостей, и зачем нужно его использовать? #2
нет
fraley
101 / 101 / 36
Регистрация: 24.05.2015
Сообщений: 307
28.09.2016, 12:02     Как работает внедрение зависимостей, и зачем нужно его использовать? #3
Если не нажмешь меня, не узнаешь.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
28.09.2016, 17:09     Как работает внедрение зависимостей, и зачем нужно его использовать? #4
fraley, не мог пройти мимо сей интригующей надписи, но там надо включить JavaScript, забавно. А ожидал заветные слова типа "пнх" с объяснением почему
DemD10
58 / 47 / 12
Регистрация: 03.09.2013
Сообщений: 433
29.09.2016, 23:29     Как работает внедрение зависимостей, и зачем нужно его использовать? #5
yura91, Я конечно щас как сморожу чушь, но к вопросу решения определенной задачи подходят с пониманием, зачем и для чего а не наоборот.
Цитата Сообщение от yura91 Посмотреть сообщение
Как работает внедрение зависимостей?
Если у вас возникает такой вопрос, может оно вам вовсе не надо?
yura91
29 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,235
30.09.2016, 11:20  [ТС]     Как работает внедрение зависимостей, и зачем нужно его использовать? #6
да я так просто понять как это работает, но уже разобрался более менее.
REALIST07
Автор FAQ
Автор FAQ
174 / 174 / 13
Регистрация: 11.06.2010
Сообщений: 932
30.09.2016, 23:37     Как работает внедрение зависимостей, и зачем нужно его использовать? #7
yura91, ну так поделись опытом, всему форуму интересно это узнать
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
01.10.2016, 08:34     Как работает внедрение зависимостей, и зачем нужно его использовать? #8
Цитата Сообщение от yura91 Посмотреть сообщение
уже разобрался более менее
Тоже присоединяюсь к вопросу! С темой раньше не сталкивался. Некоторые обьяснения на хабре вообще плавят мозг
Кликните здесь для просмотра всего текста
Принципы инверсии управления:
Модули верхних уровней не должны зависеть от модулей нижних уровней. Модули обоих уровней должны зависеть от абстракций.
Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
(сиди и гадай/гулли что эти термины означают)

Самое нейтральное/читабельное нашел здесь: https://habrahabr.ru/company/dataart/blog/283018/
Вычитал треть не "поплыв"... пока не понял преимуществ! читаю дальше... жду (от Вас) примера реального применения "на пальцах"...
Раньше все "зависимости" держал в голове... Иногда "дерево" связей рисовал на бумаге для наглядности... Тесты(упоминаются в этих статьях) не использую (не особо разобрался и пока не вижу смысла тестов, хоть все и хвалят)...
yura91
29 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,235
01.10.2016, 12:04  [ТС]     Как работает внедрение зависимостей, и зачем нужно его использовать? #9
Ну по сути это внедрение заменяет инициализацию. То есть внедряет инстанс к объекту который помечен как @Inject. Ну там есть еще @Module @Providers https://github.com/MihailovJava/DaggerTest.git - ссылка на пример который я разобрал с DI и немного понял суть

Добавлено через 3 минуты
Ну сначала мы создаем в Application DaggerComponent прописывает все модули которые в него входят. в модулях есть Providers методы, которые и отвечают за инициализацию Inject полей. Запускаем инициализацию вызовом inject метода DaggerComponent

Добавлено через 40 секунд
Ну в кратце как то так. Но пример впринципи понятный

Добавлено через 25 минут
А кстати не подскажете как по нажатию на кнопку вставить LinearLayout с определенной разметкой в тот Layout где я нахожусь именно в нужное мне место? Ну то есть у меня есть Relative или LinearLayout в нем есть 3 кнопки идущие подряд и я хочу вставить по нажатию на вторую кнопку определенный LinearLayout со своей разметкой, так чтобы он у меня отобразился между второй и третьей кнопкой. Как такое лучше реализовать?
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
01.10.2016, 21:27     Как работает внедрение зависимостей, и зачем нужно его использовать? #10
Цитата Сообщение от yura91 Посмотреть сообщение
Ну по сути это внедрение заменяет инициализацию.
А конечная цель какая??? Что упрощаем???
yura91
29 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,235
02.10.2016, 11:00  [ТС]     Как работает внедрение зависимостей, и зачем нужно его использовать? #11
ну вроде для unit тестов говорят хорошо. Упрощает покрытие кода тестами.
Паблито
2063 / 1805 / 562
Регистрация: 12.05.2014
Сообщений: 6,430
Завершенные тесты: 1
02.10.2016, 11:05     Как работает внедрение зависимостей, и зачем нужно его использовать? #12
нет там никаких преимуществ, либу эту юзают потому что "это модно и один мой знакомый 20-ти летний синьер сказал что это очень круто"
нашли у кого спрашивать, у человека, который и стартанул эту тему с вопросами
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2016, 23:36     Как работает внедрение зависимостей, и зачем нужно его использовать?
Еще ссылки по теме:

Android Кто-то сможет обьяснить зачем нужно intent::SetAction?
Слип работает не так как нужно Android
JMonkeyEngine, как использовать на Андроид? Android
Android Как использовать Fingerprint
Как использовать чужую библиотеку Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
02.10.2016, 23:36     Как работает внедрение зависимостей, и зачем нужно его использовать? #13
Я тоже как-то смотрел эту тему. Очень замороченно, каждый понимает по-своему. Якобы есть преимущество в скорости написания кода, уменьшении размера классов. На деле растёт количество классов, надо достаточно сильно "въехать" в тему, никакого особенного улучшения я не заметил и забил на эту тему.
Yandex
Объявления
02.10.2016, 23:36     Как работает внедрение зависимостей, и зачем нужно его использовать?
Ответ Создать тему
Опции темы

Текущее время: 09:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru