Size: a a a

Software Design/Architecture/Zen

2020 December 15

SP

Sergey Protko in Software Design/Architecture/Zen
если мы говорим про юзкейсы где это важно (резервация мест в кинотеатре) то там у тебя в любом случае чуть другие механизмы.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
тут другое - если у тебя есть "заказ" разных статусов с разными данными - какие-то данные не привязаны к статусу заказа и "перекидывать" их не надо.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
или вот еще - ты хочешь искать "когда оформляли заказ или когда его подтвердили или когда доставили" - три таблички - три выборки. простой union айдишек и потом уже детали по айдишкам
источник

SP

Sergey Protko in Software Design/Architecture/Zen
есть масса способов работать со стэйтом. ЛОгический кохижен "все что связано с заказом ложим в orders" это "ок" для монолитов и для систем где нет особой колаборации и гонок (то есть 90% всех продуктов)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
поскольку это ок для 90% продуктов для остальных 10-ти которые могли бы выйграть обычно ты тоже этот способ видишь - он привычный и не требует больших усилий в плане моделирования данных
источник

SP

Sergey Protko in Software Design/Architecture/Zen
если у тебя есть статусы но нет колаборации я бы в целом не парился особо. Грубо говоря если у тебя есть пост в инсте и ты его делаешь драфтом, а потом публикуешь и гонок быть не может - то нет смысла париться
источник

SP

Sergey Protko in Software Design/Architecture/Zen
колаборация есть когда два человека чет делает - менеджер подтверждает заказ когда покупатель его отменяет, такого рода вещи
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Сейчас меня волнуют скорее if-ы появляющиеся от того что статусы переменной заданы
источник

SP

Sergey Protko in Software Design/Architecture/Zen
у меня вот есть под рукой сущность где ~10 статусов со сложными правилами переходов и вот там разбиение на оч маленькие агрегаты оч сильно упрощает код
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Но разбивать в уже существующем(легаси) коде всё-равно не просто
источник

SP

Sergey Protko in Software Design/Architecture/Zen
сделали действие - создали штуку. Хотим сделать действие а сущность "не в том статусе" - нет записи в базе - ты идешь нафиг
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Евгений Ромашкан
Но разбивать в уже существующем(легаси) коде всё-равно не просто
не просто, тут добавить нечего)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
я потому на эту сущность с 10-ю статусами смотрю уже 2 года...
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
И ещё надо чтоб это хотя бы агрегатом стало самодостаточным, то есть без связей через орм всего и вся
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Евгений Ромашкан
И ещё надо чтоб это хотя бы агрегатом стало самодостаточным, то есть без связей через орм всего и вся
а для этого нужны инструменты как решить те проблемы которые ты до этого этими связями решал. Например мне пришлось реализовать application side джойны для этого
источник

SP

Sergey Protko in Software Design/Architecture/Zen
что бы связи для UI перенести на уровень UI из бизнес лэйера
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ну и еще надо хорошо понимать флоу пользователя что бы не попасть в ситуацию с кривыми моделями данных - это тоже сложно часто - нет под рукой людей которые могут с этим помочь
источник

SP

Sergey Protko in Software Design/Architecture/Zen
не зная флоу можно придумать кучу фич которые твои красивые агрегаты превратят в кашу за счет никому не нужных фич
источник

SP

Sergey Protko in Software Design/Architecture/Zen
были у меня как-то задачки в плане "хотим поиск по всему просто так". Работало это убого и проблема была в том что никто не знал как ищут.
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Sergey Protko
были у меня как-то задачки в плане "хотим поиск по всему просто так". Работало это убого и проблема была в том что никто не знал как ищут.
Чёт напоминает то что наши фронты хотят jsonapi
источник