PROG_WAY_BLOG Telegram 76
SOLID - Принцип инверсии зависимостей.

DIP - Dependency inversion principle - последний принцип из группы SOLID. Для меня самый сложный. Суть заключается в том, что программные модули верхних уровней не должны зависеть от модулей нижних уровней.

Если рассматривать этот принцип на примере, то всё становится немного проще. Обычно рассматриваются обычные фрагменты кода, но мне кажется, что проще всего будет понять этот принцип построив дерево зависимости (передаю привет дискретной математике).
К посту прилагается картинка с графом, которую я наглым образом адаптирую со статьи на хабре. Кружки - это модули, компоненты программы. Стрелочки указывают на то кто и что использует. То есть в нашем случае модуль А использует модули В и С, а те, в свою очередь, используют уже более низкоуровневые компоненты.

Так вот, при модификации программы мы можем столкнуться с такой проблемой: изменение низкоуровневого модуля будет влиять на работу вышестоящих компонентом, и, тем самым, на работу всей программы. Так как модули верхних уровней напрямую используют модули нижних уровней, устанавливается обратная зависимость. То есть теперь модули верхних уровней зависят от реализации модулей нижних уровней. Принцип имеет много тавтологии, кстати.

Чтобы избежать такой зависимости мы применяем наш принцип инверсии зависимостей. Между модулями нижнего и верхнего уровней в идеале нужно создать ещё одну программную прослойку - интерфейс. Таким образом зависимости развернутся в другую сторону и внесение любых изменений будет менее болезненным для системы.

Принцип не такой простой и при всём желании я не смогу изложить его кратко в своих постах. Так как это последний пост по этой группе, предлагаю вам несколько более обширных источников, где можно ознакомиться с этим материалом ещё раз и закрепить его.

Неплохими вариантами будут:
— Книга Роберта Мартина «Чистая Архитектура»
— Серия постов на сайте makedev.ru
— Серия постов на webdevblog.ru
— Плейлист на канале Сергея Немчинского

Спасибо за прочтение, это важно ❤️
🔥1



tgoop.com/prog_way_blog/76
Create:
Last Update:

SOLID - Принцип инверсии зависимостей.

DIP - Dependency inversion principle - последний принцип из группы SOLID. Для меня самый сложный. Суть заключается в том, что программные модули верхних уровней не должны зависеть от модулей нижних уровней.

Если рассматривать этот принцип на примере, то всё становится немного проще. Обычно рассматриваются обычные фрагменты кода, но мне кажется, что проще всего будет понять этот принцип построив дерево зависимости (передаю привет дискретной математике).
К посту прилагается картинка с графом, которую я наглым образом адаптирую со статьи на хабре. Кружки - это модули, компоненты программы. Стрелочки указывают на то кто и что использует. То есть в нашем случае модуль А использует модули В и С, а те, в свою очередь, используют уже более низкоуровневые компоненты.

Так вот, при модификации программы мы можем столкнуться с такой проблемой: изменение низкоуровневого модуля будет влиять на работу вышестоящих компонентом, и, тем самым, на работу всей программы. Так как модули верхних уровней напрямую используют модули нижних уровней, устанавливается обратная зависимость. То есть теперь модули верхних уровней зависят от реализации модулей нижних уровней. Принцип имеет много тавтологии, кстати.

Чтобы избежать такой зависимости мы применяем наш принцип инверсии зависимостей. Между модулями нижнего и верхнего уровней в идеале нужно создать ещё одну программную прослойку - интерфейс. Таким образом зависимости развернутся в другую сторону и внесение любых изменений будет менее болезненным для системы.

Принцип не такой простой и при всём желании я не смогу изложить его кратко в своих постах. Так как это последний пост по этой группе, предлагаю вам несколько более обширных источников, где можно ознакомиться с этим материалом ещё раз и закрепить его.

Неплохими вариантами будут:
— Книга Роберта Мартина «Чистая Архитектура»
— Серия постов на сайте makedev.ru
— Серия постов на webdevblog.ru
— Плейлист на канале Сергея Немчинского

Спасибо за прочтение, это важно ❤️

BY progway — программирование, IT




Share with your friend now:
tgoop.com/prog_way_blog/76

View MORE
Open in Telegram


Telegram News

Date: |

A new window will come up. Enter your channel name and bio. (See the character limits above.) Click “Create.” While the character limit is 255, try to fit into 200 characters. This way, users will be able to take in your text fast and efficiently. Reveal the essence of your channel and provide contact information. For example, you can add a bot name, link to your pricing plans, etc. SUCK Channel Telegram Over 33,000 people sent out over 1,000 doxxing messages in the group. Although the administrators tried to delete all of the messages, the posting speed was far too much for them to keep up. Just as the Bitcoin turmoil continues, crypto traders have taken to Telegram to voice their feelings. Crypto investors can reduce their anxiety about losses by joining the “Bear Market Screaming Therapy Group” on Telegram.
from us


Telegram progway — программирование, IT
FROM American