Size: a a a

Software Design/Architecture/Zen

2021 May 05

A

Artjom Kalita in Software Design/Architecture/Zen
Юзеры от этого не распухнут от ожирения?  =)
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Так вопрос то был даже не про БД. Вопрос был: делать единую историю (снаружи агрегатов) или много разных на каждый агрегат (внутри каждого агрегата). А уж БД - это следствие
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
если БД - это следствие агрегатов - то я сдаюсь... в ФП чатах ни разу про агрегаты не упоминали, а БД там, или другая монада - им всё равно
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Короче вопрос был не про БД, я вот к чему.
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
У меня всё просто в коде:
export type Order<T extends Total | Shipping | Items<Item>> = T & {
   invoiced: T[],
   refunded: T[],
   canceled: T[],
}

А что там будет в БД - мне всё равно
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ты тож рак плодишь
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
рак - это новое название абстракции?)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
не, агрегатам тоже пофиг че там в базе. Агрегаты строятся вокруг инвариантов стэйта. Тебе как ФП-нику наоборот такое должно было бы нравиться
источник

SP

Sergey Protko in Software Design/Architecture/Zen
хуевой абстракции да
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
конструктивненько)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
я утверждаю что иметь "абстракцию" под названием Order приводит к раку (неконтролируемо растущей опухоли) в 99% случаев
источник

SP

Sergey Protko in Software Design/Architecture/Zen
просто потому что "слишком жирная штука". Какой-нибудь OrderID еще норм
источник

N

Nikita in Software Design/Architecture/Zen
Оффтоп среди ваших дисскусий: понятие "агрегат" строго имеет отношение к DDD или это более общее понятие?
источник

SP

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

N

Nikita in Software Design/Architecture/Zen
мерси
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
OrderID у меня даже нету в либе нигде. всё в рамках одного заказа (так сказать, суперсет бизнес-модели)
источник

SP

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

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
для этого придумали OCP - в этом контексте (вычисления сумм для инвойсов/рефандов/отмен) - применяется эта модель, в других контекстах - без изменения этой модели можно расширить
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
точно так же, как теория множеств - это частный случай теории категорий
источник

SP

Sergey Protko in Software Design/Architecture/Zen
слишком быстро про ТК, толсто
источник