По задаче выбора объема и ответственности конкрентного агрегата очень реккомендую цикл из трех статей Вернона — dddcommunity.org/library/vernon_2011/
Если рассматривать агрегат как хранитель консистентности ентитей, то он должен обладать состоянием, которое позволяет ему однозначно отреагировать на входящую команду. Read-model для него совершенно чуждая зависимость.
В случае ES у него есть список предыдущих событий и команда.
Для маленького числа изменений при получении конкрентной команды можно перебирать все события определенного типа и принимать решение на их основе.
Для большой длины ленты событий можно создавать и хранить нужные данные в памяти (и кешировать, но лучше не надо!).
Для проверки уникальности значений в списках и других объемных структурах их не всегда возможно рационально поместить в память. Тогда можно: а) шардировать (разбивать агрегаты) по каким либо хешам на основе данных ентиней — email, дата рождения, етс (и больно бъемся о проблему миграции если выбранные значения не постоянны); б) сохранять эвент и используя саги/хореографию событий и комманд реагировать постфактум согласно бизнес требованиям; в) использовать enreach-interceptor на входе, который по данным в комманде может запросить набор значений у read-model репозитория/билдера до текущей версии и добавить их в комманду, расширив её (например признаком дублируемости или списком агегатов с таким email). Получившуюся команду можно запаковать envelop-interceptor в batch комманду и отослать в batch-interceptor для рассылки другим агрегатам на проверку/обработку забаненых пользователей например. В этом случае, комбинируя интерсепроры в пайплан, можно осуществлять более сложные кросс-агрегатные валидации на больших объемах данных.
В данном случае активно используют версионность комманд и евентов и понятие агрегата как хранителя консистентного состояния определенного набора ентитей (то-есть для каждого aggregate_id существует одна машинка состояний в одном экземпляре)
Bingo!
Це краще до вступу добавити, інакше виглядає як лекція по війсковій підготовці або вступу до радіо-мереж — нескінченний потік шифрів :)
Ват зе хек из SFCC?
Навіщо мені інтегрувати Santa Fe Community College з Азурой?
Так вот ты какой, диванный эксперт!
А потім автор змінює місце роботи та пише той самий код іншій компанії. Це потрібно змінювати.
Так пише, чи той самий?
проезжая от Поти в Батуми или обратно, рекомендую притормаживать у остановок и станций, осматривать и ощупывать остатки свиста недавней истории
Не ФОП, а на сутках, и не налоги а штраф.
finance.tut.by/news718057.html
До речі, де тут знайти топ-5 коменторів на DOU?
Со стороны бизнеса — зачем брать в штат и обучать сотрудника на непрофильные задачи если можно выбрать хорошего спеца на рынке со скилами под текущие потребности и загрузку. Сотруднику в штате положено больше плюшек и ответственности за соблюдение всех норм, но лояльность выше, передача знаний от поколений выживших на проекте выше.
Со стороны сотрудника — нет постояных вакансий :)
А если серьезно — не сидишь долго на одном месте, можешь планировать переходы и развитие по времени, больший выбор проектов, больше доход (если не специализируешься в узкой области в которой важно постоянство и длинные проекты, и умеешь работать).
Он с удовольствием пойдет. Много их уже там.
Только теперь и Вы никому ничего не должны — бебиситьте своих детей сами, планируйте их занятия и контролируйте процес обучения в рабочее время в перерывах между тасками.
Зарплата учителей будет не более прожиточного минимума. Что увеличиться — это число упоминаний — «Они наши герои» в ТВ программах в периоды кризисов.
Говоря про упавшее поголовье — а вы не хотите посчитать стоимость переезда и оплаты всех виз и новых ставок налогов/страховок/вакцин/аренд на протяжении
«Если занести, то кому» — это пока ты не ведёшь любой бизнес в США. Иначе будешь ожидать решения судов в венском изоляторе.
Если есть лоси то их сразу нет, ввиду дешевизны. Вот AOC U2790VQ вообще прелесть, но где купить то?
pro.topbrewer.com
без бутылок, бесконтактно согласно требованиям ВОЗ :)
А быть «Тимчасовым Переселенцем» на постоянной основе не пробовали? «не советский институт прописки» подразумевает выписку по старому месту жительства.
Идеи по поводу интерцепторов и их организации для обработки комманд берем из классики по обработке сообщений www.enterpriseintegrationpatterns.com/patterns/messaging
(При этом агрегаты выступают как приложения, хотя по onion model будут внутри, а инфраструктура с пайплайнами снаружи)