От автора: этим уроком мы закрываем небольшой цикл видео по разбору SOLID принципов. Принцип инверсии зависимостей важнейший принцип в объектно-ориентированном программировании на PHP, использование которого значительно уменьшает связность всего проекта в целом. Традиционно начнем с определения. Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций. Абстракции не должны зависеть от деталей. Детали ...
Читать далее »Архив меток: solid
Принципы SOLID. Часть 4. Принцип разделения интерфейса
От автора: интерфейсы – это прекрасный механизм для определения клиентской реализации, но бездумное и повсеместное их создание приносит больше негативных последствий, чем ожидаемых положительных моментов. В этом уроке будет рассмотрен четвертый принцип SOLID — принцип разделения интерфейса, который призван решить указанную выше проблему. Как правило, изучив теорию по интерфейсам, новички сразу же начинают внедрять их в свои проекты, определяя массу ...
Читать далее »Принципы SOLID. Часть 3. Принцип подстановки Барбары Лисков
От автора: первые два принципа, рассмотренные ранее, по большому счету довольно просты, логичны и очень просты для понимания. Но вот принцип подстановки Барбары Лисков, особенно его оригинальная формулировка, многих загоняет в тупик. Поэтому в текущем уроке, на двух примерах, я постараюсь простым языком объяснить суть принципа и к чему приводит его нарушение. Основная формулировка рассматриваемого принципа была представлена на конференции ...
Читать далее »Принципы SOLID. Часть 2
От автора: во втором уроке серии будет рассмотрен принцип открытости/закрытости, который гласит – «классы проекта должны быть открыты для расширения, но закрыты для изменения». Таким образом, из этого видео Вы узнаете, в чем преимущество указанного подхода, каким образом можно расширять классы без их изменения и как описать класс, чтобы он удовлетворял первому и второму принципу одновременно.
Читать далее »Принципы SOLID. Часть 1
От автора: объектно-ориентированное программирование – это подход, благодаря которому мы думаем и оперируем в приложении конкретными сущностями, в частности объектами, а не некоторыми абстрактными понятиями. Другими словами – это не только способ написания кода и использования определенных инструментов, это еще и способ мышления и совсем другой подход к организации логики будущего проекта. При этом подразумевается описание различных классов и работа ...
Читать далее »