
Max
04.07.2017
19:56:13
))

Sergei
04.07.2017
19:56:16

Max
04.07.2017
19:57:00
На примере ручки?) =

Sergei
04.07.2017
19:57:34

Google

Max
04.07.2017
20:01:04
Вот у тебя есть ручка внутри стержень
Ручка зависит от стержня

F01134H
04.07.2017
20:02:04
чет бред какой то пошел
Dependency Injection - внедрение зависимости, Dependency Inversion - внедрение зависимости через интерфейс
Вот и все отличия

Max
04.07.2017
20:03:28
Стержень создаётся отдельно и вставляется в ручку это ioc

Aleh
04.07.2017
20:03:37
di про то, как объекту передать\прокинуть зависимости
dip про то, от чего объект должен зависеть, т.е. с чем у него есть связь

Max
04.07.2017
20:03:39
Общий принцип
Di это как стержень будет вставлять ся в ручку
А dip

Aleh
04.07.2017
20:04:27

F01134H
04.07.2017
20:04:39

Google

Max
04.07.2017
20:05:05
Это когда твоя ручка зависит от какого-то абстрактного стержня
Те его интерфейса - физ размера

Aleh
04.07.2017
20:05:22
нет в общем то
dip вообще не говорит про механизм доставки зависимости, внедряются они или еще как-то там получаются

Max
04.07.2017
20:05:30
А не от конкретной реализации

F01134H
04.07.2017
20:05:48
поэтому я просто сократил все эти ненужные рассуждения

Aleh
04.07.2017
20:05:59

Max
04.07.2017
20:06:02
На котором мне его задавали

F01134H
04.07.2017
20:07:01
нет
одно про внедрение зависимости, второе про то, как делать внедрение зависимости, как нет?

Aleh
04.07.2017
20:07:27

F01134H
04.07.2017
20:07:50
ну да, перепутал
слова местами поменять

Aleh
04.07.2017
20:08:24
какие именно?)

F01134H
04.07.2017
20:09:26
одно про внедрение зависимости, второе про то, как эти зависимости создавать так, что бы уменьшить coupling
ой все

Max
04.07.2017
20:10:14
Вот последняя часть фразы это ioc
))

Aleh
04.07.2017
20:13:31

F01134H
04.07.2017
20:13:53
Спасибо за объяснение

Google

Aleh
04.07.2017
20:14:01
как при этом твой объект ее получил роли ваще не играет

F01134H
04.07.2017
20:14:15
я в принципе и так подсознательно это понимаю
ну, это довольно простая штука в общем то

Aleh
04.07.2017
20:14:48
не рокет сайнс, да

F01134H
04.07.2017
20:15:12
хотя вот есть виды DI сложные, насколько я знаю
передача через конструктор или сеттер это самое легкое
там через фабрику как то есть вроде, точно не помню

Max
04.07.2017
20:16:08

F01134H
04.07.2017
20:16:47
через рефлексию есть еще

Max
04.07.2017
20:17:26

F01134H
04.07.2017
20:17:36
да, я перепутал
через рефлексию самый сложный вариант DI

Max
04.07.2017
20:17:50
http://sergeyteplyakov.blogspot.com/2014/11/di-vs-dip-vs-ioc.html?m=1
Хороший бложик на эту тему
И чувак норм
Не егор256

Igor
04.07.2017
20:45:36
Если хочеться лиспа можно на scheme посмотреть - он простой..

Андрэ
04.07.2017
21:17:47
Видос про di интересный, да

Sergey
04.07.2017
21:19:06
https://www.youtube.com/watch?v=0X1Ns2NRfks

Google

Sergey
04.07.2017
21:19:10
есть еще такой челик

Андрэ
04.07.2017
21:19:55
Вот такие штуки стоит переводить. Так как тема для новичков очень сложная порой

Aleh
04.07.2017
21:20:04
хотя у него их дофига

Sergey
04.07.2017
21:20:12
из-за усов?
100% из-за усов
ну может еще из-за манеры говорить

Admin
ERROR: S client not available

Sergey
04.07.2017
21:20:37

Андрэ
04.07.2017
21:21:46
Как шоу, а не по технарски)

Sergey
04.07.2017
21:22:12
никогда не понимал любителей "по технарски"

Андрэ
04.07.2017
21:22:25
Ну скорее баланс нужен
Вот первый видос ок же

Sergey
04.07.2017
21:23:30
на вот на эту тему посмотри

Андрэ
04.07.2017
21:24:25
Спс) завтра гляну. А то закис уже в больничке

Борис
04.07.2017
21:42:19
\

f4rt~
04.07.2017
21:45:38

Sergey
04.07.2017
21:48:53
так, я наконец научился скачивать автосгенерированные субтитры с ютуба

Google

f4rt~
04.07.2017
21:49:08
воу, youtube-dl ?
или ты про это?

Sergei
04.07.2017
21:51:31

Forgetable
04.07.2017
21:54:33
MPJ очень хорош, имхо


Sergei
04.07.2017
21:55:15
Я рефакторил все эти определения
Все эти термины взгляд под разными углам на одно и тоже (di, ioc, dip)
Можно сказать что это всё описывает одно явление, такое как разделение зависимости классов
посредством изменения зависимости класса от конкретных имплементаций на зависимость от интерфейсов.
Интерфейсы должны быть хорошо продуманы и обладать минимумом деталей которые нужны для работы с сущностью
которую они представляют. И те классы которые имплементируют эту сущность тоже должны следовать этому
принципу т.е. тоже зависеть от интерфейсов, а не конкретных реализаций и так до самых мелких сущностей.
Теперь если класс зависит от интерфейса, а не от конкретного инстанса он не может его создать сам
и должен как то получить инстанс который реализует этот интерфейс, но для этого ему нужна чужая помощь
и он перекладывает эту ответственность на других. Есть разные способы дать классу эту зависимость
1) сеттер
2) field injection
3) конструктор (правильный способ)
4) service locator
https://upload.wikimedia.org/wikipedia/commons/4/42/Traditional_Layers_Pattern.png
https://upload.wikimedia.org/wikipedia/commons/8/8d/DIPLayersPattern.png


Sergey
04.07.2017
21:55:57
ну вот я если вдруг решусь поинвестировать время в субтитры и перевод - то выберу скорее Code Walks
Я рефакторил все эти определения
Все эти термины взгляд под разными углам на одно и тоже (di, ioc, dip)
Можно сказать что это всё описывает одно явление, такое как разделение зависимости классов
посредством изменения зависимости класса от конкретных имплементаций на зависимость от интерфейсов.
Интерфейсы должны быть хорошо продуманы и обладать минимумом деталей которые нужны для работы с сущностью
которую они представляют. И те классы которые имплементируют эту сущность тоже должны следовать этому
принципу т.е. тоже зависеть от интерфейсов, а не конкретных реализаций и так до самых мелких сущностей.
Теперь если класс зависит от интерфейса, а не от конкретного инстанса он не может его создать сам
и должен как то получить инстанс который реализует этот интерфейс, но для этого ему нужна чужая помощь
и он перекладывает эту ответственность на других. Есть разные способы дать классу эту зависимость
1) сеттер
2) field injection
3) конструктор (правильный способ)
4) service locator
https://upload.wikimedia.org/wikipedia/commons/4/42/Traditional_Layers_Pattern.png
https://upload.wikimedia.org/wikipedia/commons/8/8d/DIPLayersPattern.png
1, 2, 3 - Dependency Injection, 4 - Service Locator, а еще есть фабрики.
и все это - inversion of control
dependency inversion - штука намного шире
хотя и inversion of control штука оооочень широкая
а так все свозится к coupling и направлении зависимостей


Forgetable
04.07.2017
21:58:01
Нужно, чтобы не нужно было инвестировать время в перевод. Берёшь и смотришь :)

Sergey
04.07.2017
21:58:20

Forgetable
04.07.2017
21:58:30
Тогда вопросов нет

Sergey
04.07.2017
21:58:37
тут вопрос в том что бы другие могли посмотреть. У меня в команде есть челики которым тяжелова-то

f4rt~
04.07.2017
21:58:49

Forgetable
04.07.2017
21:59:24
Главное, чтобы они занимались хоть как-то английским, имхо. Сейчас 90% годной литературы именно на английском

Sergei
04.07.2017
21:59:30