Information
- Rating
- 1,501-st
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity
Specialization
Фулстек разработчик
Старший
From 300,000 ₽
Git
PostgreSQL
MySQL
ООП
PHP
Java
C#
REST
Java Spring Framework
Высоконагруженные системы
Ахах))
Я Разработчик, но навайбкодил такое же похожее приложение для себя, просто чтобы время не тратить)
дл создания нового окей подходит или для быстрого написания микросервисов, но вот доработать какое-нибудь легаси лучше в ручном режиме
мой проект :
https://github.com/palachX/vibe-earning?tab=readme-ov-file
Спасибо что прочитали статью!)
В больших проетках эти усилия оправданы поверьте)
Спасибо что прочитали статью!)
Да scope которые по дефольу есть работают хорошо, но сами понимаете в большое проекте магии laravel хочеться меньше, плюс scope могут работать медленее если посмотрите как они устроены. В примерах я показал как можно добавить фильтрацию и другие более сложные запросы. Все таки хочется больше ручногл управления.
В данных примерах нет бизнес логики, но и да писать там её не следуюет.
whereActiveбыло бы бизнес логикой если бы было вот так:Т.е. само обозначение active. Конечно тогда такое лучше писать в других слоях приложения.
Спасибо что прочитали статью!)
Да в laravel много магии, но как раз тут мы и хотим сделать это ручным управлением) А кастомный билдер помогает нам в этом, ведь это единая точка и любой разработчик её видит и может ей управлять)
Спасибо что прочитали статью!)
В примерах я также описал вариант с фильирами и другими подзрапросами. whereActive только для начального прмера чтобы люди уловили идею. Да магия laravel позволяет это писать и без кастомных билдеров. Но в крупных проектах иногда хочется держать всё в ручном режиме.
Большое спасибо, что прочитали статью!)
Конечно я показал самые базовые примеры, но то как их применить и где остается за вами!
Спасибо что прочитали статью! Рад что есть единомышленники) Спасибо за ваш пакет, выглядит очень мощно, жаль что не встретил его раньше)
Большое спасибо что прочитали статью!)
Полностью с вами согласен, за нас уже всё придумали)
😂😂😂
Большое спасибо)
Большое спасибо что прочитали статью)
Обязательно почитаю про данный подход, спасибо!)
Спасибо, обязательно посмотрю!
Граница между Service и UseCase действительно условна. Но цель UseCase не в строгой классификации классов. Его задача сделать структуру приложения отражением бизнес-сценариев системы.
Большое спасибо что прочитали статью!)
Вы можете вынести общую логику в сервис, и сервис уже подключить в двух UseCase. Использовать один UseCase в другом UseCase лучше в самую последнюю очередь.
Маленькие сервисы это не UseCase. Размер класса не определяет его роль. UseCase - это один конкретный бизнес процесс, бизнес сценарий. А Service это переиспользуемая бизнес-логика, т.е. часть какого-либо сценария.
Полностью с вами согласен!
Понял, да конечно каждый подход надо обсуждать с командой, нужен/устраивает ли он команде/у. За-то вы знаете что умеет делать ваше приложение, могу вас обрадовать)
Согласен с вами полностью!
Когда мы ничего не возвращаем наша архитектура становится похожа больше на команды CQRS паттерн.
Но даже самые смелые возвращают id записи чтобы была возможность у фронта обратиться за получением, либо прибегают к использованию websocket чтобы получить тот или инное событие системы.
Большое спасибо что прочитали статью)
Если не секрет что конкретно разгребаете? С какими проблемами столкнулись?
Большое спасибо что прочитали статью)
Не могу отрицать такие реализации тоже имеют место быть, но в данном случае мы работаем с restAPI приходиться что-то возвращать)
Большое спасибо что прочитали)
Да UseCase-ы как оказалось уже стандарт, особенно их ценят в бигтех, так как бизнес-процессы там большие и запутаться в них легко.
Большое спасибо за прочтение и за ваш комментарий!
Остальные классы вы также можете протестировать)
Да контроллер может сохранить заказ без проблем!
Все мы учимся!