|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
hVosttwinsky!эм... давайте определимся. мы говорим о dependency inversion principle или о паттерне dependency injection? Мы говорим об DI, который в свою очередь является формой IoC в реализации. Смысл говорить о принципах не применительно к коду? Так вернёся к вопросу. Для чего нужен DI? еще раз, на доступном языке, че за DI? :D ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2016, 14:45 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
winsky!еще раз, на доступном языке, че за DI? :D Т.е. ответа не будет? Хех, ну и ладенько. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2016, 14:48 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
hVosttwinsky!эм... давайте определимся. мы говорим о dependency inversion principle или о паттерне dependency injection? Мы говорим об DI, который в свою очередь является формой IoC в реализации. Смысл говорить о принципах не применительно к коду? Так вернёся к вопросу. Для чего нужен DI? ну и, используя ваше же тактику: я не знаю, для чего нужен DI (чтобы тут не имелось в виду). объясните мне пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2016, 14:49 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
hVosttwinsky!еще раз, на доступном языке, че за DI? :D Т.е. ответа не будет? Хех, ну и ладенько. нет, конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2016, 14:49 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
winsky!я не знаю, для чего нужен DI (чтобы тут не имелось в виду). объясните мне пожалуйста. Конкретизируйте свои вопросы. Это я хотел услышать от вас, что такое DI и для чего он нужен. Вы ответа не знаете, но зачем-то ввязались в спор. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2016, 14:51 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
hVosttwinsky!я не знаю, для чего нужен DI (чтобы тут не имелось в виду). объясните мне пожалуйста. Конкретизируйте свои вопросы. Это я хотел услышать от вас, что такое DI и для чего он нужен. Вы ответа не знаете, но зачем-то ввязались в спор. а я и не утверждал, что знаю. я просто молодой джун, вот пытался использовать dependency injection, наткнулся на ваш посо, где вы утверждаете, что нужно максимально избегать использования dependency injection, максимально для меня - это не использовать вовсе. но конкретезировать вы почему-то отказались (ну фразы "этого объяснять не нужно" и т.д.), начав забрасывать меня контрвопросами, достаточно неумными, кстати, мне это даже как джуну видно. уж простите. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2016, 14:56 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
Можно так, все записхать сразу в конечном проекте. Есть свои плюсы - тестирование. Но это не модульность. Хотя слои нарезаны, слабая связность (за исклювением конечного проекта) обеспечена ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2016, 19:16 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
А можно так. Модульность тут рулит просто безгранично. И прикурить на этом не хило (или перейти на Java Spring) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2016, 19:18 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
хвост, кажется об этом говорил, вначале топика ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2016, 19:26 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
hVosttЕсли что-то делается только внутри одного модуля и не выходит наружу, то в таких случаях лучше вообще избегать использования контейнера. можешь опытом поделиться, плиз. я пока плохо себе это представляю. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2016, 19:34 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
hVosttМы говорим об DI, который в свою очередь является формой IoC в реализации.DI может существовать и быть полезным без IoC, не так ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2016, 04:03 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
Алексей КhVosttМы говорим об DI, который в свою очередь является формой IoC в реализации.DI может существовать и быть полезным без IoC, не так ли? http://sergeyteplyakov.blogspot.ru/2014/11/di-vs-dip-vs-ioc.html ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2016, 15:01 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
Алексей К, Сейчас с DI происходит примерно тоже самое, что с ООП много лет назад. Доходит до истерии, на собеседованиях главенствующее положение занимают вопросы по DI. Многие разработчики тотально и категорически впадают в крайности по принципу «масло кашей не испортишь», ко всем классам лепят тень-интерфейсы и регают в контейнере. Идёт война контейнеров. В общем, ещё пару годков и уляжется. Трупы склюют вороны. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2016, 15:07 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
hVosttАлексей Кпропущено... DI может существовать и быть полезным без IoC, не так ли? http://sergeyteplyakov.blogspot.ru/2014/11/di-vs-dip-vs-ioc.html мне показалось, может, но Алексей задал риторический вопрос.. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2016, 18:22 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
hVosttАлексей К, Сейчас с DI происходит примерно тоже самое, что с ООП много лет назад. Доходит до истерии, на собеседованиях главенствующее положение занимают вопросы по DI. Многие разработчики тотально и категорически впадают в крайности по принципу «масло кашей не испортишь», ко всем классам лепят тень-интерфейсы и регают в контейнере. Идёт война контейнеров. В общем, ещё пару годков и уляжется. Трупы склюют вороны. может быть. но говорить, что DI нужно избегать где только можно, я бы не стал. как и ООП кстати :D ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2016, 18:30 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
winsky!hVosttАлексей К, Сейчас с DI происходит примерно тоже самое, что с ООП много лет назад. Доходит до истерии, на собеседованиях главенствующее положение занимают вопросы по DI. Многие разработчики тотально и категорически впадают в крайности по принципу «масло кашей не испортишь», ко всем классам лепят тень-интерфейсы и регают в контейнере. Идёт война контейнеров. В общем, ещё пару годков и уляжется. Трупы склюют вороны. может быть. но говорить, что DI нужно избегать где только можно, я бы не стал. как и ООП кстати :D DI контейнеры нужно применять в 3 случаях. 1. если используешь внешние сервисы 2. если делаешь поддержку плагинов 3. если пишешь книгу или статью в блог и хочешь показаться офигенно крутым чуваком ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2016, 18:37 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
ЕвгенийВwinsky!пропущено... может быть. но говорить, что DI нужно избегать где только можно, я бы не стал. как и ООП кстати :D DI контейнеры нужно применять в 3 случаях. 1. если используешь внешние сервисы 2. если делаешь поддержку плагинов 3. если пишешь книгу или статью в блог и хочешь показаться офигенно крутым чуваком аминь ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2016, 18:44 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
winsky!hVosttАлексей К, Сейчас с DI происходит примерно тоже самое, что с ООП много лет назад. Доходит до истерии, на собеседованиях главенствующее положение занимают вопросы по DI. Многие разработчики тотально и категорически впадают в крайности по принципу «масло кашей не испортишь», ко всем классам лепят тень-интерфейсы и регают в контейнере. Идёт война контейнеров. В общем, ещё пару годков и уляжется. Трупы склюют вороны. может быть. но говорить, что DI нужно избегать где только можно, я бы не стал А вот в Stack Overflow избегают полностью в угоду производительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2016, 20:42 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
hVostt... ко всем классам лепят тень-интерфейсы и регают в контейнере.Ну я же пишу выше, что DI-контейнер не обязывает описывать интерфейсы там, где они не нужны. Он и без них достаточно полезен. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2016, 03:56 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
winsky!ЕвгенийВпропущено... DI контейнеры нужно применять в 3 случаях. 1. если используешь внешние сервисы 2. если делаешь поддержку плагинов 3. если пишешь книгу или статью в блог и хочешь показаться офигенно крутым чуваком аминь+1 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2016, 04:00 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
winsky!может быть. но говорить, что DI нужно избегать где только можно, я бы не стал. как и ООП кстати :D В ООП аналогично, понадобились многие года, чтобы понять, что надо при любой возможности избегать наследования. А как было раньше, на заре ООП? Наследование! Только наследование! Возможно некоторым тоже надо за много лет собрать как можно ударов граблями по своему твёрдому лбу, чтобы уяснить для себя, что DI не панацея и не решает всех проблем архитектуры и что во многих случаях без него лучше обойтись. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2016, 05:39 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
Алексей КhVostt... ко всем классам лепят тень-интерфейсы и регают в контейнере.Ну я же пишу выше, что DI-контейнер не обязывает описывать интерфейсы там, где они не нужны. Он и без них достаточно полезен. Вот именно! Если с интерфейсами как-то понятен смысл DI, то без них это уже DI ради DI, начинает казаться, что создание инстансов всех классов стоит переложить на плечи контейнера. Ну как же, он же все зависимости подоткнёт. Что в итоге? После нескольких месяцев разработки с таким подходом: 1) прочитать и понять программу становится крайне затруднительным делом 2) контролировать поток выполнения программы становится всё сложнее и сложнее 3) производительность, найдя узкое место, решить проблему узкого горлышка в сетях паутины DI может оказаться трудоёмкой задачей Речь идёт не об полном отказе от DI, а про грамотное использование инструмента, есть другие более эффективные решения, о которых одни забывают, а другие просто тупо не знают, прикрываясь одним единственным заученным паттерном. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2016, 05:47 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
hVosttЕсли с интерфейсами как-то понятен смысл DI, то без них это уже DI ради DIDI ради: 1. Области времени жизни. 2. Централизованное конфигурирование создания объектов. 3. Компактность кода. Ниже пример из жизни, чего можно избежать при использовании ди-контейнера: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2016, 06:26 |
|
Dependency injection. Как скрыть внутренние реализации ?
|
|||
---|---|---|---|
#18+
hVosttЧто в итоге? После нескольких месяцев разработки с таким подходом: 1) прочитать и понять программу становится крайне затруднительным делом 2) контролировать поток выполнения программы становится всё сложнее и сложнее 3) производительность, найдя узкое место, решить проблему узкого горлышка в сетях паутины DI может оказаться трудоёмкой задачейОт наличия или отсутствия ди-контейнера плохой код лучше не станет. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2016, 06:27 |
|
|
start [/forum/topic.php?fid=20&msg=39288653&tid=1400408]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 158ms |
0 / 0 |