Гена
Юра
Отправить результат факсом?
Anonymous
Dmitry
Anonymous
Я могу в лс скинуть кому интересно
Anonymous
Возможно я неправ и это правда клёвое тестовое
Anonymous
Но как бы на позицию мидла....
Гена
Если у тебя ентити простая структура, то все ок
И возвращаемся по кругу. У вас вся бизнес логика построена в процедурном стиле. ООП исчезло.
Я против подхода когда сущность это просто таблица в БД. И все ПО это куча сервисов которые дергают таблицу через эти сущности анемичные
Гена
Но как бы на позицию мидла....
Я на собеседованиях сразу предупреждал, что если они щас мне предложат бумажку и попросят что-то написать то я завершаю собеседование :)
Anonymous
Гена
Гена
Что-то из геймдева:)?
Anonymous
Миддл бэкэнд на Симфе
Anonymous
Удивительно, да?
Maxim Kainov
Anonymous
Логика вообще должна быть в консумерах раббита
Anonymous
Да.
Maxim Kainov
Гена
Думаю это была бы Command на уровне Application. Точнее 2.
Гена
Гена
Заказу это все равно. Он получит необходимое бизнес требование при создании.
А в самом заказе будет логика не допускающая внесения более указанного количества позиций.
И мы всегда знаем что логика формирования заказа в самом заказе
Юра
Логика в mysql
Гена
а у вас ограничение по количеству позиций будет во всех 20 сервисах обслуживающих 20 разных пользователй заказа?
Юра
На хранимых процедурах
Гена
ну давайте извращения потом будем обсуждать
Юра
Смешно но на самом деле очень надёжно )
Гена
:) штука
Гена
все зависит от проекта
Гена
Если проекту плевать на ближайшие годы что он привязан к БД и часть логики теперь в дургом месте
ну ок
Maxim Kainov
Maxim Kainov
Maxim Kainov
И тогда нужно будет изменить только один этот сервис, передать новую зависимость через di
Юра
Простой пример. Есть энтитя, у неё есть поля priceusd, pricerub
Юра
Надо сохранить pricerub на основании priceusd
Юра
Как это сделать в рич энтити?
Maxim Kainov
Юра
Но вот мы ж сейчас про Рич энтити говорим с логикой внутри энтити
Сергей
передай курс параметром. в чем проблема?
Юра
Вот и я хочу понять как мне такую логику засунуть в энтити
Юра
Так а где тут рич энтити тогда
Юра
Мне нужен получается сервис
Юра
Который.дает ей курс
Юра
Чет анэмическая модель какая-то
Юра
Рич энтити я так понимаю сама должна все считать
Юра
И чем тогда это лучше обычного сеттера setPriceRub
Юра
Нафига мне эти танцы с передачей интерфейса
Maxim Kainov
Юра
Вдруг энтити решит не умножать на курс а делить или что?
Юра
Вопроч
Юра
Как это укладывается с сисфлнийскими формами
Юра
Как мне в сеттер передать еще интферфейс
Юра
Или в сериализатор
Maxim Kainov
Юра
И куда передавать? В setPriceUsd?
Юра
Или просто setRateService делать каждый раз
Юра
Короче хрень какая-то получается
Юра
Так это самый банальный пример
Юра
Причем я вынужден передавать ей этот интерфейс всегда
Юра
Потому что автоваера нет а логику энтити я не знаю
Юра
Понадобится он ей или нет
Юра
Если мы говорим о том что каждый раз пишем setPriceRub(someService), то на корню убиваем.саму идею сервис контейнерп с его депенденси инжекшн
Юра
Нафиг он нужен давайте в каждый метод передавать все зависимости руками
Maxim Kainov
Точно
Гена
сами что-то придумали и сами победили :))
Юра
Тю. Ну пусть история курса
Юра
Вот вам бизнес модель записи истории курса на день
Юра
Что тут такого сложного
Юра
Еще поле created добавить туда и все
Гена
Вот и я задам себе вопрос что тут такого сложного чтобы это было бизнес моделью с какой-либо бизнес логикой