Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,327
1

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

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

Как работает внедрение зависимостей? И в каких ситуациях, зачем нужно его использовать?Например если я объявил поле как @Inject то как к нему потом обращаться как его инициализировать можете подробно объяснить на каком нибудь простеньком примере?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2016, 11:37
Ответы с готовыми решениями:

Что такое внедрение зависимостей и зачем оно нужно?
Я почти уверен, что для тех, кто работает с ASP.NET этот вопрос покажется...

Зачем нужен массив указателей на функцию и как его использовать?
народ подскажите пожалуйста, зачем нужен массив указателей на функцию и как его...

Зачем в качестве параметра передавать null и потом использовать его как массив?
Я встретил такой код и он УБИЛ МЕНЯ НАПОВАЛ(: public static function...

Внедрение зависимостей
Всем привет. подскажите пожалуйста такой вопрос. Как можно сделать зависимость...

Тип void как возвращаемое значение функции: что он такое, зачем он нужен, где, когда и как его использовать?
Объясните пожалуйста про Void для оооочень далекого человека. Читаю книгу...

12
Pablito
2759 / 2191 / 741
Регистрация: 12.05.2014
Сообщений: 7,693
Завершенные тесты: 1
28.09.2016, 11:51 2
нет
0
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 329
28.09.2016, 12:02 3
Если не нажмешь меня, не узнаешь.
0
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,734
28.09.2016, 17:09 4
fraley, не мог пройти мимо сей интригующей надписи, но там надо включить JavaScript, забавно. А ожидал заветные слова типа "пнх" с объяснением почему
0
DemD10
59 / 48 / 13
Регистрация: 03.09.2013
Сообщений: 470
29.09.2016, 23:29 5
yura91, Я конечно щас как сморожу чушь, но к вопросу решения определенной задачи подходят с пониманием, зачем и для чего а не наоборот.
Цитата Сообщение от yura91 Посмотреть сообщение
Как работает внедрение зависимостей?
Если у вас возникает такой вопрос, может оно вам вовсе не надо?
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,327
30.09.2016, 11:20  [ТС] 6
да я так просто понять как это работает, но уже разобрался более менее.
0
REALIST07
Автор FAQ
Автор FAQ
184 / 184 / 20
Регистрация: 11.06.2010
Сообщений: 971
30.09.2016, 23:37 7
yura91, ну так поделись опытом, всему форуму интересно это узнать
0
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
01.10.2016, 08:34 8
Цитата Сообщение от yura91 Посмотреть сообщение
уже разобрался более менее
Тоже присоединяюсь к вопросу! С темой раньше не сталкивался. Некоторые обьяснения на хабре вообще плавят мозг
Кликните здесь для просмотра всего текста
Принципы инверсии управления:
Модули верхних уровней не должны зависеть от модулей нижних уровней. Модули обоих уровней должны зависеть от абстракций.
Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
(сиди и гадай/гулли что эти термины означают)

Самое нейтральное/читабельное нашел здесь: https://habrahabr.ru/company/dataart/blog/283018/
Вычитал треть не "поплыв"... пока не понял преимуществ! читаю дальше... жду (от Вас) примера реального применения "на пальцах"...
Раньше все "зависимости" держал в голове... Иногда "дерево" связей рисовал на бумаге для наглядности... Тесты(упоминаются в этих статьях) не использую (не особо разобрался и пока не вижу смысла тестов, хоть все и хвалят)...
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,327
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 со своей разметкой, так чтобы он у меня отобразился между второй и третьей кнопкой. Как такое лучше реализовать?
0
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
01.10.2016, 21:27 10
Цитата Сообщение от yura91 Посмотреть сообщение
Ну по сути это внедрение заменяет инициализацию.
А конечная цель какая??? Что упрощаем???
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,327
02.10.2016, 11:00  [ТС] 11
ну вроде для unit тестов говорят хорошо. Упрощает покрытие кода тестами.
1
Pablito
2759 / 2191 / 741
Регистрация: 12.05.2014
Сообщений: 7,693
Завершенные тесты: 1
02.10.2016, 11:05 12
нет там никаких преимуществ, либу эту юзают потому что "это модно и один мой знакомый 20-ти летний синьер сказал что это очень круто"
нашли у кого спрашивать, у человека, который и стартанул эту тему с вопросами
1
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,734
02.10.2016, 23:36 13
Я тоже как-то смотрел эту тему. Очень замороченно, каждый понимает по-своему. Якобы есть преимущество в скорости написания кода, уменьшении размера классов. На деле растёт количество классов, надо достаточно сильно "въехать" в тему, никакого особенного улучшения я не заметил и забил на эту тему.
0
02.10.2016, 23:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2016, 23:36

Внедрение зависимостей в .NET Ninject
Здравствуйте я читал литературу по "Внедрение зависимостей в .NET" мне нужно...

Namespace - зачем его использовать
Извините за тупой вопрос, не как не могу понят зачем так писать: namespace...

Зачем нужно использовать Action?
Один знакомый любит использовать Action. Так, меня заинтересовала эта тема....


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru