@oop_ru

Страница 276 из 785
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

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
поэтому я просто сократил все эти ненужные рассуждения

Max
04.07.2017
20:06:02
чет бред какой то пошел
И это не бред. А вопрос с реального собеса

На котором мне его задавали

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

Aleh
04.07.2017
20:07:27
одно про внедрение зависимости, второе про то, как делать внедрение зависимости, как нет?
dep inversion вообще нигде не говорит про внедрение, ну вот совсем не про внедрение

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
одно про внедрение зависимости, второе про то, как эти зависимости создавать так, что бы уменьшить coupling
в dip самое важное - разворот стрелочки, что вот зависел ты от базы данных(mysql например) и в мгновение ока перестал зависеть, потому что стрелочка развернулась, благодаря получению абстракции. Теперь ты просто говоришь, что тебе нужна база данных определенного вида с определенными характеристиками(например которая sql жевать умеет)

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
хотя вот есть виды DI сложные, насколько я знаю
Есть ещё через проперти и метод, тот же сеттер

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

Max
04.07.2017
20:17:26
там через фабрику как то есть вроде, точно не помню
Через фабрику это уже процесс сборки твоего объекта, а это уже не совсем di

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
Может не по теме. А кто что скажет про Closure и Closure Script? Пробовал может, игрался?
Только Clojure. Язик классний, если ти любитель лиспов :) А так от задач зависит - для каких задач нужен язик?

Если хочеться лиспа можно на 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

Андрэ
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
Ну скорее баланс нужен
https://www.youtube.com/watch?v=aqzvkwSiFTI

на вот на эту тему посмотри

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

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

f4rt~
04.07.2017
21:45:38
https://www.youtube.com/watch?v=0X1Ns2NRfks
хех я его смотрел, перед тем как решил плюнуть и найти в себе силы читать документацию, что бы чему-то научиться

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
тут вопрос в том что бы другие могли посмотреть. У меня в команде есть челики которым тяжелова-то

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

Sergei
04.07.2017
21:59:30
хотя и inversion of control штука оооочень широкая
Приведи какие то конкретные примеры, более менее нормальное обьяснение с вики, откуда я взял эти картинки, всё остальное какой то cryptic shit

Страница 276 из 785