TGViewer
S0ER S0ER @softwareengineervlog · 10.4K subscribers
Post #778 3.25K
Акторы:
- извлекают сообщение из «почтового ящика»
- создают новых акторов
- обновляют собственное состояние
- отправляют сообщения другим акторам
Целостность доменных моделей
При использовании стандартного CRUD для хранения состояния моделей в реляционных СУБД есть одна проблема – в БД сохраняется конечный результат вычислений, при этом не существует возможности определить «как» этот результат был получен. Например, при выполнении цепочки банковских транзакций в БД сохраняется конечная цифра – баланс. Это проблема, так как не позволяет делать «трассировку» состояний. Это блокиурет возможность отследить исторические изменения, сделать откат транзакции и т.д. Так же реляционные БД обычно имеют существенные ограничения по гарантированию целостности данных за пределами одной ноды.
Чтобы избежать данных проблем используется два варианта моделей, обеспечивающих целостное состояние:
- CQRS – разделение операций чтения и записи на два потока
- Event sourcing – сохранения в БД не конечного состояния, а набора «событий», которые привели к этому состоянию.
Основные принципы доменного моделирования:
- мысли выражениями
- сначала абстракция, затем вычисления
- используй наиболее простую абстракцию, которая подходит
- показывай «что делать», скрывай «как делать»
- изолируй с помощью bounded context
- предпочитай future акторам
- прогнозирую на ближайшую перспективу

Вывод: книга обзорно рассматривает основные понятие связанные с функциональным программированием и DDD. Затем подробно показывает как с помощью основных инструментов SCALA реализовать DDD с помощью функционального программирования. В книге подробно рассматриваются основные паттерны и приемы функционального проектирования. Рассматриваются вопросы построения целостных моделей, вопросы тестирования. Книга требует хорошего понимания SCALA и функционального программирования, использовать книгу как учебник по SCALA не получится.
  • 👍 1
More from @softwareengineervlog
  1. Sep 3, 2026Google выпустила Gemini 3.8 Flash — новая быстрая модель уже обходит гигантов в кодинге. П…
  2. Sep 3, 2026Сейчас использую DeesSeek v4 Flash, на готовой кодовой базе решать стандартные таски из тр…
  3. Aug 6, 2026Полезное: разраб сделал интерактивный мануал, который по шагам показывает, что происходит…
  4. Aug 5, 2026Ты ненастоящий программист! Это происходит снова и снова, и каждый раз одинаково. Я начал…
  5. Jul 27, 2026Внимание, скам! Появился бот который выдает себя за бота моего канала. Я НИЧЕГО ЧЕРЕЗ БОТО…
  6. Jul 25, 2026У Сбера есть интересный whitepaper где он описывает технологию разработки продукта с помощ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →