212 похожих чатов

Как дкмаете, адекватно иметь аггрегат на 30+ полей в коде?

Он отображает данные в таблице полностью

8 ответов

20 просмотров

Как вы понимаете такой термин, как агрегат, начнем с этого?

Если речь идет о "отображении таблиц" то это не про агрегаты. Ну то есть "агрегат" это паттер смысл которого в том что в пределах границах оного есть гарантии консистентности данных. такая вот граница логической транзакции. но если ты данные не меняешь, то это все не применимо и соответственно называть это что-то агрегатом или проектировать его границы в контексте "отобразить" говорит о том что агрегатов у нас нет и похер

Имхо, не стоит загоняться терминами и попыткой реализовать так как написано в книге, сказано другими людьми. Опять же не всё надо натягивать на одну определенную архитектуру, подход. Агрегат - это набор сущностей, который поддерживает тот или иной процесс и инварианты, которые должны меняться только из него, через агрегат рут. Если нет такой потребности или она не существенна, не стоит пытаться сделать каноничный агрегат. Есть потребности в атомарных изменениях и жесткий вариантах - реализуете агрегат, так как это хороший подход для решения этих задач, нет такой потребности - реализуете обычную сущность, анемик сущеность или еще как. Т.е. это механизмы и подходы для решения ваших конкретных проблем, а не какая-то серебрянная пуля в архитектуре под которую нужно всё завести,и только тогда ты молодец.

Павел Г.
Имхо, не стоит загоняться терминами и попыткой реа...

Какую проблему решают агрегаты? Они не про "набор сущностей и чет там ещё". Они решают конкретную проблему (которой может не быть). Какую?

Sergey P
Какую проблему решают агрегаты? Они не про "набор ...

Граница транзакции, поддержание инвариантов

Окей, то есть при проектировании агрегатов нам не важны сущности и во а важны транзакции и какие данные нужны для поддержания инвариантов

Sergey P
Окей, то есть при проектировании агрегатов нам не ...

Ну в целом да. Просто группа сущностей может работать над поддержанием какого либо валидного стейта. А может быть и не группа.

Павел Г.
Ну в целом да. Просто группа сущностей может работ...

еще нюанс. вот у @overflow0x17 проскакивало что-то типа "разным сервисам нужны разные данные". Например статус заказа (я подозреваю у него агрегат это заказ). И как следствие я делаю допущение что часть проверок инвариантов "вытекает" из этого псевдо-агрегата наружу в сервисы. А это значит что мы уже не особо полагаемся на агрегат который должерн обеспечивать целостность своих данных, а на "сервисы" которые теперь представляют границу транзакции. То есть от агрегата мы перешли к классическому transaction scripts переусложненными попытками натянуть концепции из ДДД"

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта