SOLID - принцип единственной ответственности на примере Laravel! Анонс курса по принципам SOLID

Новый выпуск видео из рубрики плохой/хороший коД посвящен первый принцип SOLID - единственной ответственности. Рассмотрим на примере некачественный код и объясню, что это за принцип и зачем он! Хотите перейти на новый профессиональный уровень и освоить все принципы SOLID - приглашаю пройти мой курс - #SOLID#laravel#cutcode --------------------------------------------------------------------------------- ❗️❗️❗️как делать сложные сайты на laravel? Это просто с cutcode! Поддерживай мой проект - 🤖🤖🤖Мой помощник Тэйлор готов выдать тебе подарок. Забирать тут - --------------------------------------------------------------------------------- ⏰ Таймкоды: 00:00 Введение 00:34 Что такое принцип единственной ответственности 03:26 Обзор некачественного кода 06:21 Анонс курса по SOLID 07:09 Обзор исправленного кода Всех поклонников Laravel я приветствую на канале Cutcode. Сегодня у нас рубрика плохой/хороший коД. Сегодня не будем кодить, но рассмотрим пример некачественного кода. И за счет этого примера рассмотрим первый принцип SOLID - единственной ответственность. Пример не реально существующего проекта - я его набросал из головы, но на мой взгляд такая реализация встречается крайне часто. Давайте для начала поговорим что такое принцип единственной ответственности. Ну и тут в целом все просто уже исходя из названия. Принцип говорит о том что сущность должна иметь одну ответственность. То есть выполнять только одну задачу. Сущность у нас это класс или даже метод. Чуть позже станет еще более понятно. Итак давайте рассмотрим CRUD контроллер. Ресурс контроллер если говорить на языке laravel и ответим на вопрос соответствует ли он принципу единственной ответственности. И как это в целом бегло определить. Смотрите перед нами класс и мы задаем ему простой вопрос - какие задачи ты выполняешь? Но рассмотрим мы не целый контроллер класс, а его метод на сохранения записи. Я думаю кто-то из вас уже готовится писать гневные комментарии - мол автор плохой человек и со своим ресурс-контроллером уже нарушает принципы SOLID. Ведь здесь у нас и вывод записей и удаление, добавление с редактированием, просто ужас сколько ответственностей. Но я отвечу сразу следующим образом: принципы solid крайне важно знать, уметь определять и реализовывать, но это только правила, а не законы! Нужно помимо всего прочего иметь чувство кода и знать когда что имеет место быть. Сейчас я вцелом замечаю волну одержимых принципами SOLID разработчиков, которые подобные CRUD контроллеры каждый метод разделяют на отдельные action классы и каждый цепляют под собственный роут. То есть выходит так что каждый action это отдельный контроллер и тем самым у класса только одна ответственность. Но в последующем люди начинают бездумно копировать эту концепцию из проекта в проект. Где простейшие проекты обрастают огромным количеством классов и route файл раздувается до огромных размеров. В итоге работать с таким простым проектом казалось бы, становится только сложнее. Да и кстати я хочу огорчить тех кто придерживается такого подхода: когда вы делите каждый экшен на отдельный класс вы все еще нарушаете принцип единственной ответственности. Так как ваш action помимо той бизнес-логики за которую он ответственен, также еще и ответственен за response. Он ведь возвращает ответ в виде вьюхи либо redirect. И это уже несколько задач. --------------------------------------------------------------------------------- 📹 делитесь этим видео с друзьями: 🔔 подпишитесь на YouTube-канал: 📼 Курс по Laravel с нуля: SOLID - принцип единственной ответственности на примере Laravel! Анонс курса по принципам SOLID --------------------------------------------------------------------------------- 🔗 наш сайт: 📷 наш instagram: 📱 Наш telegram-канал: