Size: a a a

Software Design/Architecture/Zen

2021 July 29

AI

Arthur Irgashev in Software Design/Architecture/Zen
они 400 таблиц уместили в 8 с кучей жсонов
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
и изобрели бд внутри бд
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
если мы говорим про вьюшки, то обычно все что делает бекенд кроме авторизации и парсинга http это буквально:

toJson(db.query(“SELECT 1”))
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
и получили кучу конкуренций и прочего
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Вот эта часть меня оч удивило. Казалось бы подходы типичных DBA но DBA должны были от этого остановить. А потому понятно почему команде пришлось попрощать с продуктом
источник

AL

Anton Lakotka in Software Design/Architecture/Zen
спасибо. про историю эту слышал, а вот такие вкусности не читал
🙈
источник

k

knopkod4v in Software Design/Architecture/Zen
а без хранения в бд встречались проекты, где нет болючего легаси?)
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
да, много
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Приветствую. Подскажите плиз, кто как хранит логику, которая не умещается в агрегатах? Ну т.е. сценарии юзкесов.
В чем собственно я вижу проблему: вот есть некий юзкейс (класс обработчик), в который инжектятся репозитории и какие либо еще сервисы и там логика. Банально: заказ можно передать курьеру, если у курьера меньше 20 активных заказов, если заказ уже выполнен и оплачен. Т.е. этот юзкейс охватывает взаимодейсвтие баланса, статуса произодства заказа и данных о курьере. Если эту логику оставить в юзкейсе - то у нас в одном месте и зависимости и логика, что не хорошо.  Значит надо логику из юзкейса куда то переносить. Куда? Создавать отдельный класс/чистую функцию? Но тогда мы идем в сторону анемичности и сервис-классов.   Или эту логику переносить в один из классов/агрегат, например в курьера? Но тогда идем в сторону повышения каплинга. Или вообще как-то иначе?
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
"заказ можно передать курьеру, если у курьера меньше 20 активных заказов, если заказ уже выполнен и оплачен"
это бизнес правило которое пишется в доменный сервис, а юзкейс это апп сервис
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Хм, думал что юзкейс это домен.  А в вашем предложении доменный сервис типа будет чистым и без зависимости?
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
А ну, верно. Домен -это сущности,а над ними апп.
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
скидываю x2) App сервис и юзкейс это синонимы, просто из разных "школ кода"
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Ага, спасибо. По кругу чистой архитектуры юзкейс над доменом. Тупанул. Но вопрос немного в другом. Получается бизнес правило в доменом сервисе, а этот сервис будет без зависимостей?
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Спасибо, ответ как раз по ссылке. 👍
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
ну яж не просто так ссылку скинул, не за что
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
А есть ли смысл доменные сервисы инжектить, особенно если они чистые?
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Почему бы просто не создавать через new ?
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
тестирование
источник