# Исходный код вики Event sourcing

Редактировал(а) Alexandr Fokin 2023/05/20 18:06

Последние авторы

author | version | line-number | content
--- | --- | --- | ---
|  | 1 | |(% style="width:123px" %)Плюсы|(% style="width:1399px" %)Набольшая гибкость представления информации внутри системы.
|  | 2 | Если история храниться в неограниченном виде, то возможность рассчитать состояние любого агрегата на любой момент времени.
|  | 3 | |(% style="width:123px" %)Минусы|(% style="width:1399px" %)Требование к хранилищу: постоянно нарастающий объем данных.
|  | 4 | Чтобы получить снимок на момент времени необходимо взять начальное состояние агрегата и применить к нему все операции, что в некоторых случаях может занять много времени.
|  | 5 | Также предрассчитанные данные могут быть необходимо для индексации (для выборки и фильтрации данных, построения отчетов).
|  | 6 | |(% style="width:123px" %)Ограничения|(% style="width:1399px" %)Естественное ограничение - невозможность влияния на состояние, расположенное во внешних системах.
|  | 7 | |(% style="width:123px" %) |(% style="width:1399px" %)Возможна комбинация с ограничением истории хранения изменений. Когда история храниться только за некоторый оконный промежуток, а по его истечении команда записывается в снимок и удаляется из истории.
|  | 8 |
|  | 9 | ----
|  | 10 |
|  | 11 | ==== Внутренние ссылки: ====
|  | 12 |
|  | 13 | ====== Дочерние страницы: ======
|  | 14 |
|  | 15 | {{children/}}
|  | 16 |
|  | 17 | ====== Обратные ссылки: ======
|  | 18 |
|  | 19 | {{velocity}}
|  | 20 | #set ($links = $doc.getBacklinks())
|  | 21 | #if ($links.size() > 0)
|  | 22 | #foreach ($docname in $links)
|  | 23 | #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument())
|  | 24 | * [[$escapetool.xml($rdoc.fullName)]]
|  | 25 | #end
|  | 26 | #else
|  | 27 | No back links for this page!
|  | 28 | #end
|  | 29 | {{/velocity}}
|  | 30 |
|  | 31 | ----
|  | 32 |
|  | 33 |

## Приложения