Pull to refresh

Comments 5

вам нельзя писать такие материалы. я вот не самый тупой (мое личное мнение тут не учитывается), но из вашего текста ничего не понял.

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

Да вроде понятно. Разделить код на интерфейсы так, что бы можно было заменить любую часть кода, которую требуется на другую, за счет написания правильных интерфейсов.

У меня похожая проблема была. Выделить какую то общую часть в компонентах, что можно было не переписывать один и тот же код в каждом из них, а сделать интерфейс к которому можно было подключаться так, что бы каждый компонент содержал только ту информаию, которая присуща только для него.

Раньше логика поиска была прямо в методе, теперь она лежит в отдельном классе.

И если вдруг этот класс используется где-либо ещё, вылезут баги вида:

Почему нельзя добавить хлеб другого производителя? Потому что у него цена и вес совпадают уже с существующим.

А потом появляется новое поле, и надо править каждый класс, реализующий IComparator.
А если начинает появляться более узкий компаратор, который имеет смысл только для работы с ограниченным набором продуктов, узким местом становится код для выбора компаратора, иначе не соблюдается бизнес-логика. И это расплывается на большее и большее число классов, делая их более хрупкими.

Светильник не может быть в зависимости от винтика

То есть разрабатывая светильник мы придумываем свои уникальные параметры винтиков, а потом на заводе винтиков заказываем их изготовление?

Я почему то думал наоборот. Дизайнер светильника подбирает винтики из доступных в продаже.

Инверсия зависимостей классная штука для расширения мировоззрения, но я никак не могу согласится с автором этого принципа, что надо все инвертировать.

По логике дяди Боба нельзя использовать готовые библиотеки, т.к. оказывается что светильник зависит от винтиков, а не наоборот.

Спасибо за статью как за возможность задать такой вопрос )

Sign up to leave a comment.

Articles