Category: solid

26
Июл
2019

Принципы SOLID. Часть 5. Принцип инверсии зависимостей

От автора: этим уроком мы закрываем небольшой цикл видео по разбору SOLID принципов. Принцип инверсии зависимостей важнейший принцип в объектно-ориентированном программировании на PHP, использование которого значительно уменьшает связность всего проекта в целом. Традиционно начнем с определения. Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций. Абстракции не […]

06
Июн
2019

Принципы SOLID. Часть 4. Принцип разделения интерфейса

От автора: интерфейсы – это прекрасный механизм для определения клиентской реализации, но бездумное и повсеместное их создание приносит больше негативных последствий, чем ожидаемых положительных моментов. В этом уроке будет рассмотрен четвертый принцип SOLID — принцип разделения интерфейса, который призван решить указанную выше проблему. Как правило, изучив теорию по интерфейсам, новички сразу же начинают внедрять их […]

04
Июн
2019

Принципы SOLID. Часть 3. Принцип подстановки Барбары Лисков

От автора: первые два принципа, рассмотренные ранее, по большому счету довольно просты, логичны и очень просты для понимания. Но вот принцип подстановки Барбары Лисков, особенно его оригинальная формулировка, многих загоняет в тупик. Поэтому в текущем уроке, на двух примерах, я постараюсь простым языком объяснить суть принципа и к чему приводит его нарушение. Основная формулировка рассматриваемого […]

30
Май
2019

Принципы SOLID. Часть 2

От автора: во втором уроке серии будет рассмотрен принцип открытости/закрытости, который гласит – «классы проекта должны быть открыты для расширения, но закрыты для изменения». Таким образом, из этого видео Вы узнаете, в чем преимущество указанного подхода, каким образом можно расширять классы без их изменения и как описать класс, чтобы он удовлетворял первому и второму принципу […]

29
Май
2019

Принципы SOLID. Часть 1

От автора: объектно-ориентированное программирование – это подход, благодаря которому мы думаем и оперируем в приложении конкретными сущностями, в частности объектами, а не некоторыми абстрактными понятиями. Другими словами – это не только способ написания кода и использования определенных инструментов, это еще и способ мышления и совсем другой подход к организации логики будущего проекта. При этом подразумевается […]