SOLID - вступление

Принципы проектирования классов SOLID в PHP

В данном видеокурсе мы познакомимся с принципами проектирования приложений SOLID.
 
Проектирования - это отдельная и серьезная тема.
Для того чтобы хорошо спроектировать приложение необходимя знания ООП, шаблонов проектирования и качественный опыт разработки.
 
Но если вы освоите и будете предерживаться всего лишь этих пяти принципов, вы уже выйдете на более качественный уровень разработки приложений.
 
Соблюдение SOLID принципов позволяет строить архитектуру приложения которое со временем будет проще и дешевле поддерживать и развивать.
Написанный код гораздо проще использовать повторно.
 
Случается так что задача какого-либо веб-сервиса изначально достаточно простая и бывает так что времени на реализацию мало. Разработчик может не задумываться над тем что сервис может расти, развиваться и обрастать функционалом. Разработчик может не задумываться что может понадобиться перенос сервиса на новый фреймворк. Разработчику может быть вообще безразлично - дали ТЗ - выполнил - работает - заказчик доволен - деньги получены.
 
Проблемы начинаются когда требуется добавляеть новый функционал, менять старый.
 
Как пример - 
 
Все знакомы с шаблоном проектирования MVC, но мало кто им пользуется правильно. В зависимости от опыта разработчика, разработчик либо делает "толстые контроллеры" помещая бизнес логику в него, либо делает "толстые модели", помещая бизнес логику в модели. Бывает что и в представления помещают разного рода вычисления. То есть как бы и разграничения есть - тут работа с базой, здесь формирование html кода страницы и контроллер как-бы все это собирает во едино...
 
Но когда дело доходит до дорабатывания функционала - открываешь контроллер - а там длинное полотно кода, куча разной логики в одном экшене и не понятно что и зачем делается. Приходится длительное время разбираться и заниматься рефакторингом.
 
В таких приложениях логика не централизована, а размазана по разным файлам.
Если есть классы то зачастую это GOD-classes - многофункциональные монстры.
 
Если вы думаете что данный подход удел новичков, джуниоров, то спешу вас огорчить! 
Подобное можно встретить и в open-sources проектах достаточно популярных скриптов, и в коммерческих скриптах, которые, казалось бы, пишут совсем не глупые люди.
 
Признаться я и сам умею очень качественно говнокодить, по этому не буду приводить названия проектов популярных скриптов где код написан абы-как ни имен разработчиков, чей код мне приходилось дорабатывать или поддерживать.
 
Если вы хотите писать качественнй код который в последствии легко будет сопровождать и дорабатывать, то SOLID - это тот необходимый минимум который надо не просто знать, а набить руку и уметь мыслить этими принципами.
 

Добавить отзыв (пожелание, комментарий)