Протокол - пустотелый, протокол не является абстракцией, протокол это тот же интерфейс, и когда мы оборачиваем классы в протоколы мы отвечаем принципу подстановки, а не инверсии зависимостей. Так как инверсия зависимостей это чтобы не было зависимости верхних уровней от зависимостей нижних уровней. UPD: посмотрите чем отличается интерфейс от абстрактного класса
Давайте поможем Маше найти правильное названия принципа, который вывела Барбара Лисков. Суть в подстановке, чтобы можно было подставить любой класс без нарушения функциональности кода. То есть в переменную можно подставить любой тип, который отвечает протоколу, это нужно для тестирования и для переиспользования. Когда мы тестируем юнитами класс, класс нужно изолировать от любых других зависимостей, а это можно сделать только если все типы данных, которые принимают методы или переменные имеют у себя тип протокола, а не конкретный тип (если он не элементарный). В такой формулировке "Нужно следить за иерархией классов", тогда как возможно нарушить этот принцип???
я конечно не знаю, это первое видео из этой серии на которое я попал, но это странно выглядит, что лектор читает что-то глядя над камерой. зачем это? зачем его вообще тогда показывать? продолжаю просмотр.
Ещё бы побольше минусов, кроме накладных расходов. И соответственно область применения, а где не стоит. Тема хайповая, а везде где хайп есть предвзятость. Плюсы конечно есть, но и о минусах знать надо
блин, большое спасибо, не находил такое доступное объяснение на русском языке
Хорошее объяснение чистой архитектуры, спасибо!
да, тему раскрыли отлично, спасибо!
Протокол - пустотелый, протокол не является абстракцией, протокол это тот же интерфейс, и когда мы оборачиваем классы в протоколы мы отвечаем принципу подстановки, а не инверсии зависимостей. Так как инверсия зависимостей это чтобы не было зависимости верхних уровней от зависимостей нижних уровней.
UPD: посмотрите чем отличается интерфейс от абстрактного класса
👍👍👍
Давайте поможем Маше найти правильное названия принципа, который вывела Барбара Лисков. Суть в подстановке, чтобы можно было подставить любой класс без нарушения функциональности кода. То есть в переменную можно подставить любой тип, который отвечает протоколу, это нужно для тестирования и для переиспользования. Когда мы тестируем юнитами класс, класс нужно изолировать от любых других зависимостей, а это можно сделать только если все типы данных, которые принимают методы или переменные имеют у себя тип протокола, а не конкретный тип (если он не элементарный).
В такой формулировке "Нужно следить за иерархией классов", тогда как возможно нарушить этот принцип???
я конечно не знаю, это первое видео из этой серии на которое я попал, но это странно выглядит, что лектор читает что-то глядя над камерой. зачем это? зачем его вообще тогда показывать? продолжаю просмотр.
Ещё бы побольше минусов, кроме накладных расходов. И соответственно область применения, а где не стоит. Тема хайповая, а везде где хайп есть предвзятость. Плюсы конечно есть, но и о минусах знать надо
-
плюсов масса и минусов нету, ты полон энергии от заката до рассвета