В дополнении к бездумному разделению всего на отдельные классы можно добавить то, что под ответственностью Р. Мартин понимал причину для изменения класса. Т.е. если в нашем коде контроллера есть простая валидация и одновременно редирект и мы уверены, что в данном проекте данные сервисы не будут изменяться, то и причины для разделения нет. А вот код для уведомлений с большой долей вероятности может поменяться (с почты на телеграм) и это типичный пример для выноса данной ответственности в отдельный класс.
@CutCodeRu3 жыл бұрын
Согласен и в трактовке про разделение в рамках причины изменения и "бизнес владельца" есть смысл хотя есть и вопросы но это отдельная тема обсуждения, хотя думаю заслуживала сноски так как противоречит простому объяснению но новичку будет неплохо понять как, когда и зачем разделять
@romanpogrebnyak2 жыл бұрын
@@CutCodeRu отлично получается ! Молодец!
@levdau3 жыл бұрын
Купил курс, начинаю изучать. Пробежался по содержанию - интересно.
@ДарьяМилова-щ6ц3 жыл бұрын
Отличное видео! В ближайшее время обязательно ознакомлюсь
Надеюсь в скором времени появится отдельное видео про тесты
@illll65733 жыл бұрын
Спасибо за контент! Было бы ещё круто, если бы сделали видео о паттернах ООП, которые реализованы в архитектуре ларавел
@CutCodeRu3 жыл бұрын
Сделаем, есть такое уже в плане на ближайшее время
@artemgiant2 жыл бұрын
Спасибо, очень полезно )
@ДмитрийМаляр-х5щ Жыл бұрын
1. В тестах я бы разделял методы, которые должны вернуть ошибку валидации и те которые должны отработать корректно и остальные по томуже принципу. Насколько я вижу у Вас они рулоном в одном методе. 2. В классе Request метод authorize, в случае есть там просто return true, его можно не описывать. 3. Отправку уведомления еще можно реализовать по событию, не только в классе обсерва. Так как в класс обсерва также очень часто пишут логику разного рода и это в свою очередь нарушает принципы SOLID.
@mnogokotin3 жыл бұрын
спасибо )
@МихаилХарченко-е7м Жыл бұрын
очень хороший рефакторинг, особенно он хорош в том, что показывает как можно использовать различные коробочке инструменты Laravel, но не показали код метода make в фабрике, интересно было бы взглянуть. но хотелось бы обратить внимание на то, что а всегда ли нам в коде нужно кого-то уведомлять о чем-то ? обсервер как бы заставляет нас всегда создавать и отправлять уведомление, а если я например хочу создать что-то не уведомляя об этом никого ? у меня будет такая возможность ?, так же не совсем понятно как тестируется отправка уведомлений в данном коде.
@CutCodeRu Жыл бұрын
Подписывайтесь на канал и смотрите все видео и вопросов будет становится все меньше
@RusIvan20222 жыл бұрын
Нужно понимать что все эти принципы и патерны исключительно для того что бы можно было безболезненно и быстро добавить или поменять функционал и это все не сломалось. Так что нужно включать здравый смысл.
@CutCodeRu2 жыл бұрын
Согласен полностью
@ДмитрийАндросов-в9х2 жыл бұрын
Здравствуйте. Подскажите, изначально в коде до рефакторинга после валидации есть массив $data, в нем есть поля, которых не может быть в модели Order, например products_ids, при этом метод create отрабатывает у вас корректно. Когда я пытаюсь провернуть нечто подобное, выскакивает ошибка "A column was not found", что в целом понятно. Просто интересно, почему у вас поведение create другое.
@CutCodeRu2 жыл бұрын
у модели Order эти поля не указаны в свойстве fillable
@stabby65213 жыл бұрын
курс будет дополняться ? и что подразумевается под "дополнительными материалами" ? если посмотреть по времени оч маленький курс выходит
@CutCodeRu3 жыл бұрын
доброго дня! 1. есть идеи по небольшому дополнению курса в будущем. 2. дополнительные материалы это ссылки на видеоролики, которые поясняют упомянутые в уроках инструменты 3. курс небольшой, но ёмкий
@AlexViennaDJ3 жыл бұрын
Спасибо за выпуск!!! А будет видео про то как на laravel писать single page application? Например на вью.
@CutCodeRu3 жыл бұрын
Есть серия канале про inertia + vue как раз о spa но будут и еще ролики, есть в планах
@AlexViennaDJ3 жыл бұрын
@@CutCodeRu отлично!
@dilanhasck14472 жыл бұрын
1. Постараться не писать комментарий описание, пусть метод говорит о себе 2. Тонкий контроллер 3. 1 класс 1 ответственность
@CutCodeRu2 жыл бұрын
Беру вас в команду)
@nick7chasniy3803 жыл бұрын
Спасибо. Будет ли курс по solid на udemy?
@CutCodeRu3 жыл бұрын
Изучу условия и если все подойдет выложу и там
@lexxkrt2 жыл бұрын
короче раньше все было на лицо, и формирование номера и отправка и проверки, сейчас все делается фоново и фиг знает вообще что делается. чем это отличается от 1с, в котором все запрятано в событиях, которые находятся даже не в твоем документе
@everything_is_simple82 жыл бұрын
Покамисть суть тестов вижу в увеличении кода в 2-3 раза... Больше смысла не вижу. Взяли и написали тоже самое,, ,
@CutCodeRu2 жыл бұрын
если у Вас такое мнение, значит у Вас всё еще впереди)