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

А еще пару вопросов. Хориков приводит пример Date/DateTime как пример волатильной

зависимости на которую предметная область не должна завязываться.

Объекты Date/DateTime это еще и внепроцессная зависимость или только волатильная зависимоcть?
Какой практический смысл изолировать предметную область от Date/DateTime?

13 ответов

7 просмотров
Alexander- Автор вопроса

Мне кажется если для ui, то как раз расходится. Типа как может в ui попасть то, что не было создано в ходе бизнес транзакции. А если чисто для аудита, то нет. Ну наверное

Alexander
Мне кажется если для ui, то как раз расходится. Ти...

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

Alexander- Автор вопроса
knopkod4v
ну прост ты говоришь, что эти createdAt не связаны...

Ну почему. Дата созданич сущности. Чтобы потом показывать на фронте

Alexander- Автор вопроса

Ну это он и говорит. Но мой вопрос в том насколько эта независимость от дейта нужна?

иногда имеет смысл, тут уже говорили про платежи видел доклад Солнцева (автор Селенида), что ловили хейзенбаг тесты, которые иногда падали, а на время критичный функционал завязан... конкретный случай был связан с тем, что убунта при апдейте версии обновила поставщика времени и как-то хитро переключалась решением было: использовать не системное время, а относительнео время в Джаве

Alexander
Ну это он и говорит. Но мой вопрос в том насколько...

Как минимум тестить это функцию будет просто, снижение когнитивный нагрузки всей кодовой базы. Представьте у вас 80% кодовой базы это чистые функции. Если дата время там реально нужны можно просто передать clock

Alexander
Ну это он и говорит. Но мой вопрос в том насколько...

время штука сложная, если ты можешь спроектировать систему так что бы она не полагалась на "текущее время" а скорее на таймстэмпы которые приходят снаружи у тебя будет куда больше возможностей по тестируемости и гибкости системы. Есть много разных идей вокруг этой темы. В целом рекомендую почитать чего на тему functional core imperative shell

ааа, да есть в моем выражении такие проблемы, по сути вы получается что система существует, по ее snapshot в runtime, а не в runtime по ее uptime. Вот этот разрыв между snapshot и uptime и есть глубина ямы. В некоторых системах он ближе к единице (отношение слепка-snapshot отчета от запаздывания наполнения и все отлично, напримерd системах управленческого учета). А вот в "живых" типа систем обработки транзакций сделок 24/7 или систем производства он отличен от единицы, то есть меньшее ее, и начинаются я проблемы в оценке, и чем ближе к нулю, тем больше проблем.

Fagor
ааа, да есть в моем выражении такие проблемы, по с...

вопрос же только в требованиях к времени выполнения? Ну то есть останавливать время же всё равно придётся

Fagor
ааа, да есть в моем выражении такие проблемы, по с...

проблемы ли это. ну то есть.... то что стэйт системы может не быть консистентным в конкретный момент времени не есть проблема сама по себе.

мне очень нравится пример Альберто Брандолини из его книжки про event storming. мол у него там был пример на тему того что бизнес по своей природе строится на доверии и на eventual consistency. идешь ты такой по парку и захотел покушать. Стоит лоток с хотдогами. Ты такой подходишь к нему и просишь мол "дай ка мне хотдог", а он такой "5 баксов". Ты даешь ему деньги и ждешь. И пока ты ждешь он вполне может сбежать с твоими 5-ю баксами и не будет хотдога. И в целом операцию обмена такую никак не выйдет сделать атомарно. Невозможно за одну операцию сьесть хотдог и обменяться деньгами.

Sergey P
мне очень нравится пример Альберто Брандолини из е...

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

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
#include <stdio.h> int main(void) { int n; scanf("%d", &n); int digits1[n] = {0}; int digits2[n] = {0}; я не могу таким образом заранее массив нулями заполнить?
Linus
12
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
я про форму записи. смысл указывать что 8 байтный регистр 8 байт?
Aiwan \ (•◡•) / _bot
10
Вроде бы вопрос уже заезжанный, но тем не менее У меня есть функция menu() которая выводит набор возможных действий, а затем спрашивает у пользователя что он хотел бы сделать....
David Golovatin
5
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Карта сайта