Size: a a a

2020 October 07

JB

Jurij Bachkov in symfony
Я такую херню люблю замутить, 5 прослоек 10 интерфейсов
А потом сижу и думаю, на хера?
источник

VS

Vlad Sobenko in symfony
Iurii Sivovol
Робот Федор
Ахаха. Тут и Kiss подходит)
источник

SP

Sergey Protko in symfony
Iurii Sivovol
yagni на сколько понимаю - не делать лишних бизнесовых фич, только тут совсем не про ddd и setters
Не только про "бизнесовые фичи", в целом "не делать лишнего" или "делать только то что необходимо". Очень многие разработчики болеют этой болезьнью додумывания того что не нужно.  

А кто говорил что это про DDD? выше уже упоминалось что DDD заканчивается на процессе моделирования и использование кода в качестве модели. Все остальные штуки к DDD прямого отношения не имеют но без них делать модели чище сложнее
источник

SP

Sergey Protko in symfony
а еще камень в сторону "почему пишем говно" - риск менеджмент - этому джунов не учат от слова совсем. Отсюда и проблемы и с KISS и с YAGNI и со всем остальным. И любовь к трейтам возможно
источник

SP

Sergey Protko in symfony
риск менеджмент как наука выбирать между сендвичем с дерьмом и гиганской клизмой
источник

JB

Jurij Bachkov in symfony
Кто-то слишком умничает
источник

VS

Vlad Sobenko in symfony
Jurij Bachkov
Кто-то слишком умничает
Норм аргумент..
источник

SP

Sergey Protko in symfony
источник

D

Dmitry in symfony
@fes0r а как бы вы реализовали фичу ? https://t.me/symfony_php/247476
пытаюсь понять ваш подход к разработке
Telegram
Павел Г. in symfony
Приветствую, подскажите плиз грамотный путь работы с коллекциями в рамках инкапсуляции логики.  
Кейс: есть статья, авторизированный пользователь может лайкнуть или убрать лайк со статьи - одним ендпоинтом, грубо говоря работает как тумблер.  Есть сущность лайк, у нее ссылки на пользователя и статью.  
В прямом случае я бы создал сервис, в нем метод и из репозитория дернул лайк по статье и пользователю, если его нет - создал, если есть - удалил. Задача готова.
Но нет же задачи в бизнес логике "создать/удалить лайк" есть "лайкнуть статью". Как я понимаю более верно было бы инкапсулировать в статье, юзере, или где?
Ну т.е. должно быть $article->likedBy($user) . Но тогда, чтобы найти лайкнута или нет, надо пробежаться по всей коллеции лайков, что дичь или использовать критерий внутри метода. Но тогда возникает вопрос, как пропихивать в метод какие то проверки, типа "антиспам лайков", который будет дергать БД или еще какие сервисы и т.д.
Что то короче меня замыкает между инкапсулировать в сущности и вынесенем…
источник

ЕР

Евгений Ромашкан... in symfony
Dmitry
@fes0r а как бы вы реализовали фичу ? https://t.me/symfony_php/247476
пытаюсь понять ваш подход к разработке
Telegram
Павел Г. in symfony
Приветствую, подскажите плиз грамотный путь работы с коллекциями в рамках инкапсуляции логики.  
Кейс: есть статья, авторизированный пользователь может лайкнуть или убрать лайк со статьи - одним ендпоинтом, грубо говоря работает как тумблер.  Есть сущность лайк, у нее ссылки на пользователя и статью.  
В прямом случае я бы создал сервис, в нем метод и из репозитория дернул лайк по статье и пользователю, если его нет - создал, если есть - удалил. Задача готова.
Но нет же задачи в бизнес логике "создать/удалить лайк" есть "лайкнуть статью". Как я понимаю более верно было бы инкапсулировать в статье, юзере, или где?
Ну т.е. должно быть $article->likedBy($user) . Но тогда, чтобы найти лайкнута или нет, надо пробежаться по всей коллеции лайков, что дичь или использовать критерий внутри метода. Но тогда возникает вопрос, как пропихивать в метод какие то проверки, типа "антиспам лайков", который будет дергать БД или еще какие сервисы и т.д.
Что то короче меня замыкает между инкапсулировать в сущности и вынесенем…
Я не фесор, но кмк такое стоило бы на фронте разрулить, и сделать отдельные ендпойнты)
источник

D

Dmitry in symfony
Евгений Ромашкан
Я не фесор, но кмк такое стоило бы на фронте разрулить, и сделать отдельные ендпойнты)
Антиспам на фронте ? Это будет тяжело
источник

JB

Jurij Bachkov in symfony
Dmitry
@fes0r а как бы вы реализовали фичу ? https://t.me/symfony_php/247476
пытаюсь понять ваш подход к разработке
Telegram
Павел Г. in symfony
Приветствую, подскажите плиз грамотный путь работы с коллекциями в рамках инкапсуляции логики.  
Кейс: есть статья, авторизированный пользователь может лайкнуть или убрать лайк со статьи - одним ендпоинтом, грубо говоря работает как тумблер.  Есть сущность лайк, у нее ссылки на пользователя и статью.  
В прямом случае я бы создал сервис, в нем метод и из репозитория дернул лайк по статье и пользователю, если его нет - создал, если есть - удалил. Задача готова.
Но нет же задачи в бизнес логике "создать/удалить лайк" есть "лайкнуть статью". Как я понимаю более верно было бы инкапсулировать в статье, юзере, или где?
Ну т.е. должно быть $article->likedBy($user) . Но тогда, чтобы найти лайкнута или нет, надо пробежаться по всей коллеции лайков, что дичь или использовать критерий внутри метода. Но тогда возникает вопрос, как пропихивать в метод какие то проверки, типа "антиспам лайков", который будет дергать БД или еще какие сервисы и т.д.
Что то короче меня замыкает между инкапсулировать в сущности и вынесенем…
За 5 сек
(new ArticleLike)->setArticle()->setUser()
persist flush
источник

ЕР

Евгений Ромашкан... in symfony
Dmitry
Антиспам на фронте ? Это будет тяжело
Всм антиспам?
Просто определить, снимает юзер лайк или ставит
источник

ЕР

Евгений Ромашкан... in symfony
А то может получится что юзер думает что ставит лайк, а сервер думает что снимает
источник

DT

Dmitriy Tkachenko in symfony
Jurij Bachkov
За 5 сек
(new ArticleLike)->setArticle()->setUser()
persist flush
а чтобы посчитать все лайки count($likesRepo->findAllByArticle())?
источник

JB

Jurij Bachkov in symfony
Dmitriy Tkachenko
а чтобы посчитать все лайки count($likesRepo->findAllByArticle())?
За 10 сек - LikeService c кэшом и шлюхами
источник

D

Dmitry in symfony
Евгений Ромашкан
Всм антиспам?
Просто определить, снимает юзер лайк или ставит
Меня больше интересует подход к композиции элементов а не сама реализация
источник

DT

Dmitriy Tkachenko in symfony
и годы процессорного времени, потраченного на бесполензные более чем полностью вычисления
источник

ЕР

Евгений Ромашкан... in symfony
Dmitry
Меня больше интересует подход к композиции элементов а не сама реализация
Определить наличие лайка можно без коллекций, протым запросом к базе
источник

ЕР

Евгений Ромашкан... in symfony
Логику антиспама я бы в сущности с БЛ не клал
источник