|
Dependency inversion
|
|||
---|---|---|---|
#18+
questionerэтого читал причём ещё до публикации вопросатогда в чем вопрос? Тут такое дело. Одни угадывают DI с двух нот. Другие с 3_х. А третьи всю жизнь используют, но с одной ноты не угадывают. Может толкование такое. Или учителя попались такие. Попробуй на французском толкования. Я лично предпочмтаю примеры. Примеры понятны? В коде? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2019, 14:03 |
|
Dependency inversion
|
|||
---|---|---|---|
#18+
PetroNotC Sharpquestionerэтого читал причём ещё до публикации вопросатогда в чем вопрос? Тут такое дело. Одни угадывают DI с двух нот. Другие с 3_х. А третьи всю жизнь используют, но с одной ноты не угадывают. Может толкование такое. Или учителя попались такие. Попробуй на французском толкования. Я лично предпочмтаю примеры. Примеры понятны? В коде? Надо всё таки прочитать топик с начала) Вы ничего нового не открыли. В целом я думаю в какой-то степени мы докопались до истины. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2019, 14:07 |
|
Dependency inversion
|
|||
---|---|---|---|
#18+
questioner, Да. Я ничего нового не открывал). Даль ссыль на русские примеры и картинки. Я все понял по ним. Кто не понял, пусть еще пишет). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2019, 14:10 |
|
Dependency inversion
|
|||
---|---|---|---|
#18+
забыл никquestioner, а зачем тебе понимать чбе-бы-то-ни-было толкование? Вообще при чтении этой темы меня не покидают ощущение что я нахожусь в кружке толкователей корана Ну вроде это написано не 100 лет назад. Поэтому выглядит, что "толковать" ничего не надо, а толкователей в статьях пруд пруди. А потому, что написано настолько "забористо", что с ходу не понятно, что хотел сказать автор. Я понимаю, что это обобщенные абстрактные принципы, но тем не менее, приятно понимать оригинал. Вдруг там что-то ещё есть) Просто фраза "модули высокого уровня не должны зависеть от модулей нижнего уровня" для меня выглядит реально противоречивой. По факту же модули высокого уровня(контроллеры из всем известного spring mvc например) зависят от сервиса. Ну вытащу я этот сервис в интерфейс - ок - буду зависеть от интерфейса модуля нижнего уровня. Я бы всё равно это оценил таким образом, что модуль высокого уровня зависит от модуля нижнего уровня хоть и через его интерфейс. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2019, 14:15 |
|
Dependency inversion
|
|||
---|---|---|---|
#18+
questionerПросто фраза "модули высокого уровня не должны зависеть от модулей нижнего уровня" для меня выглядит реально противоречивой. По факту же модули высокого уровня(контроллеры из всем известного spring mvc например) зависят от сервиса. Ну вытащу я этот сервис в интерфейс - ок - буду зависеть от интерфейса модуля нижнего уровня в чем противоречие? контроллер не зависит от сервиса, он зависит от контракта (интерфейса) - про сервис он может ничего не знать вплоть до инстанциирования в рантайме. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2019, 14:30 |
|
Dependency inversion
|
|||
---|---|---|---|
#18+
questioner, Ну, там, все эти буквы и SOLID конечно взаимосвязаны. И можно придраться к формулировке. Тут легче на примере кода. Когда связь по интерфейсу, ты убираешь строку import unitClassABC из другого класса. То есть слабая связанность при построении больших систем. У тебяпоявляется 100 классов вместо 3х сильносвязанных)) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2019, 14:31 |
|
Dependency inversion
|
|||
---|---|---|---|
#18+
перечитываю книжку мартина. короче, он диай связывает с ацикличностью зависимостей и ацикличным графом зависимостей. Кроме того, он ясно поясняет что с его точки зрения зависимость - это скажем в джаве, вызов метода какого-то класса и импорт этого класса в твой класс. т.е. если у тебя есть класс А и в нем импорт класса Б - это зависимый класс. далее, разрыв циклических зависимостей он предлагает разрыванием через ДИ, по-сути предлагая создавать еще один компонент куда импортятся оба и заюзан интерфейс и типа опа зависимость разорвана. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 14:02 |
|
Dependency inversion
|
|||
---|---|---|---|
#18+
в данном утверждении: авторHigh-level modules should not depend on low-level modules. Both should depend on abstractions (e.g. interfaces). на мой взгляд следует понимать,что если у тебя класс А класс Б класс Ц, то в классе А должны быть импорты Б, в Б - импорты Ц, но в Ц и Б не должно быть импортов А. если по той или иной причине это надо - создаем интерфейс и наследуем его в одном и импортим в другом по интерфейсу. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 14:04 |
|
Dependency inversion
|
|||
---|---|---|---|
#18+
andreykaTКроме того, он ясно поясняет что с его точки зрения зависимость - это скажем в джаве, вызов метода какого-то класса и импорт этого класса в твой класс. т.е. если у тебя есть класс А и в нем импорт класса Б - это зависимый класс.да. Или по простому выше писал, наличие строки вверху import. Нет строки - нет зависимости. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 14:11 |
|
Dependency inversion
|
|||
---|---|---|---|
#18+
PetroNotC Sharpпо простому выше писал, наличие строки вверху import. Нет строки - нет зависимости.Квалифицированные идентификаторы уже отменили? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 16:25 |
|
Dependency inversion
|
|||
---|---|---|---|
#18+
Basil A. SidorovPetroNotC Sharpпо простому выше писал, наличие строки вверху import. Нет строки - нет зависимости.Квалифицированные идентификаторы уже отменили? разверни ответ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 16:48 |
|
Dependency inversion
|
|||
---|---|---|---|
#18+
andreykaT, Ну, формально он прав. Можно без импорт написать полное имя и будет связанный код. В шарпе и С++ IDE не дает так писать. Имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 17:05 |
|
Dependency inversion
|
|||
---|---|---|---|
#18+
PetroNotC SharpandreykaT, Ну, формально он прав. Можно без импорт написать полное имя и будет связанный код. В шарпе и С++ IDE не дает так писать. Имхо ну это обман. суть в том что ты в своем классе делаешь вызовы методов другого класса. и в этом смысле ты имеешь зависимость что если поведение того другого класса изменится - твой код очевидно тоже придется менять. (может нет). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 18:00 |
|
|
start [/forum/topic.php?fid=59&msg=39830364&tid=2121210]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 138ms |
0 / 0 |