| 
 | 
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Что-то не могу понять этот принцип. Информация, которую я читал, выглядит противоречивой. Вот оригинал: https://en.wikipedia.org/wiki/Dependency_inversion_principle High-level modules should not depend on low-level modules. Both should depend on abstractions (e.g. interfaces). Abstractions should not depend on details. Details (concrete implementations) should depend on abstractions. 1. Какой определить у какого модуля/класса выше уровень? 2. Могут ли зависеть низкоуровые модули от высокоуровневых? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 17.06.2019, 16:08 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  зависимость должна быть в одну сторону. т.е. если на пальцах твой репозиторий не должен знать ничего о контроллере и сервисах. твой сервис ничего не должен знать о контроллере, твой контроллер в идеальном мире ничего не должен знать о тех обоих. вроде так мартин вещал. если речь об аббревиатуре солид. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 17.06.2019, 16:26 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  andreykaTзависимость должна быть в одну сторону. т.е. если на пальцах твой репозиторий не должен знать ничего о контроллере и сервисах. твой сервис ничего не должен знать о контроллере, твой контроллер в идеальном мире ничего не должен знать о тех обоих. вроде так мартин вещал. если речь об аббревиатуре солид. Речь про SOLID Это отвечаете на какой вопрос? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 17.06.2019, 16:42 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  1) где верх где низ - это зависит от твоей архитектуры и что ты там пишешь я хз. главное что вызовы из одного слоя должны ходить только в другой и никак не наоборот. если вдруг тебе понадобилось в другую сторону - ты делаешь что-то не так. 2) тут идея в том, что объясняя на пальцах, если у тебя какая-нибудь классика контроллер-сервис-репозиторий это подразумевается, что из репозиторя ты не должен обращаться к сервису, или контроллеру. только так: контроллер -> сервис -> репозиторий. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 17.06.2019, 18:20 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  andreykaT1) где верх где низ - это зависит от твоей архитектуры и что ты там пишешь я хз. главное что вызовы из одного слоя должны ходить только в другой и никак не наоборот. если вдруг тебе понадобилось в другую сторону - ты делаешь что-то не так. 2) тут идея в том, что объясняя на пальцах, если у тебя какая-нибудь классика контроллер-сервис-репозиторий это подразумевается, что из репозиторя ты не должен обращаться к сервису, или контроллеру. только так: контроллер -> сервис -> репозиторий. Это я и так всё знаю, но это не выглядит соответсвующе формулировке. Вчитайтесь авторHigh-level modules should not depend on low-level modules. Both should depend on abstractions (e.g. interfaces). Abstractions should not depend on details. Details (concrete implementations) should depend on abstractions. 1. Какой определить у какого модуля/класса выше уровень? 2. Могут ли зависеть низкоуровые модули от высокоуровневых? контроллер выше сервиса? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.06.2019, 00:18 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Точка входа это верхний уровень - что тебе еще не понятно? Читай книжку Мартина "чистая архитектура" Там несколько глав посвящены солиду (который тоже Мартин собрал) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.06.2019, 00:50 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  andreykaT, Да дело не в чтении, а в понимании. В случае спринга точка входа запроса это контроллер. То есть контроллер это верхняя точка, сервис на уровень ниже, репозиторий ещё ниже. теперь берём фразу авторHigh-level modules should not depend on low-level modules. Both should depend on abstractions (e.g. interfaces). Почему она написана именно так? Если как Вы говорите, то надо писать: автор low-level modules should not depend High-level modules. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.06.2019, 14:10 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  questionerберём фразу авторHigh-level modules should not depend on low-level modules. Both should depend on abstractions (e.g. interfaces). Почему она написана именно так? - вероятно потому, что здесь смысл заключен во втором предложении, про абстрации, что бы не писали: Код: java 1. 2. а писали: Код: java 1. 2. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.06.2019, 14:50 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  И контроллер и репозиторий это все модули низкого уровня, потому что содержат детали реализации. Модули высокого уровня это доменная модель и бизнес логика. Естественно в правиле DI речь идет о зависимости времени компиляции, естественно зависимость времени исполнения зачастую направлена в обратную сторону. Отсюда и слово Inversion. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.06.2019, 14:52 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  инверсия с английского вообще переводится как гомосексуализм ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.06.2019, 15:47 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Kachalovquestionerберём фразу пропущено... Почему она написана именно так? - вероятно потому, что здесь смысл заключен во втором предложении, про абстрации, что бы не писали: Код: java 1. 2. а писали: Код: java 1. 2. а в первую фразу для красоты написали? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.06.2019, 16:00 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  andreykaTинверсия с английского вообще переводится как гомосексуализм очень познавательно. А главное очень относится к теме. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.06.2019, 16:03 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  да. гомосексуальная зависимость. всё верно. блин. ну посмотри ж ты книжку того чела который собрал эти принципы а. там немного страниц и всё объяснено картинками тем челом кто эту диай и сформулировал как бестпрактиз ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.06.2019, 16:12 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  andreykaTда. гомосексуальная зависимость. всё верно. блин. ну посмотри ж ты книжку того чела который собрал эти принципы а. там немного страниц и всё объяснено картинками тем челом кто эту диай и сформулировал как бестпрактиз Судя по тому, что ты прочитал, а объяснить не можешь эта книжка тебе не помогла. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.06.2019, 17:33 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  да. ментор из меня так себе. особенно когда слушатели деревянные. согласен. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.06.2019, 17:55 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  andreykaT, очень хотел что-то процитировать из Омара-Хайама на тему мудрецов и... ну и всех остальных. Но забыл. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.06.2019, 17:57 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Нужели никто не может ответить? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 24.06.2019, 12:05 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  я вчера перечитал книжку мартина на эту тему.. )) в общем, он там всё же топит за интерфейсы. типа зависимости между компонентами делаешь через интерфейсы а не напрямую с реализациями. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 24.06.2019, 12:42 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  [img] https://i.ibb.co/nzRwMcm/scheme1.png [/img] ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 24.06.2019, 12:45 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  авторОбратите внимание, что поток управления пересекает извилистую линию в направлении, обратном направлению зависимостей в исходном коде. Зависимости следуют в направлении, противоположном направлению потока управления — именно поэтому принцип получил название принципа инверсии зависимости ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 24.06.2019, 12:46 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Новичку проще понять эту тему если представить что между модулями стоит сеть. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 24.06.2019, 13:13 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  andreykaTавторОбратите внимание, что поток управления пересекает извилистую линию в направлении, обратном направлению зависимостей в исходном коде. Зависимости следуют в направлении, противоположном направлению потока управления — именно поэтому принцип получил название принципа инверсии зависимости Как это всё соотносится с фразой: авторHigh-level modules should not depend on low-level modules. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 24.06.2019, 14:32 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  maytonНовичку проще понять эту тему если представить что между модулями стоит сеть. Новичком меня тяжело назвать) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 24.06.2019, 14:32 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  questionermaytonНовичку проще понять эту тему если представить что между модулями стоит сеть. Новичком меня тяжело назвать) Извини если обидел. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 24.06.2019, 15:10 | 
  
  
  
   | 
||
| 
 
Dependency inversion 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  questionerandreykaTпропущено... Как это всё соотносится с фразой: авторHigh-level modules should not depend on low-level modules. пока не вижу явной связи. по крайней мере в первоисточнике того кто этот принцип обосновал и в явном виде. что там в википедии хотели сказать хз. НО эта фраза есть в утверждениях к другим буквам солида. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 24.06.2019, 15:43 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?desktop=1&fid=59&tid=2121210]:  | 
    0ms | 
get settings:  | 
    11ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    62ms | 
get topic data:  | 
    13ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    66ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 13ms | 
| total: | 189ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...