Найти в Дзене
Тактический дизайн в DDD: Мост между бизнесом и кодом
Когда мы слышим Domain Driven Design, на ум сразу приходят такие понятия, как Ubiquitous Language (Повсеместный/Всеобщий язык), Bounded Contexts (Ограниченные контексты), то есть чаще всего говорят о стратегическом дизайне. Но между стратегией и кодом лежит большой очень важный слой — тактический дизайн. Это то, как стратегические идеи воплощаются в конкретные и работоспособные программные модели. Тактический дизайн — инструмент моделирования Bounded Context. Этой части DDD незаслуженно уделяют мало внимания, хотя без тактики любая стратегия терпит поражение...
6 дней назад
Saga: когда “отмена” — это не rollback, а новое действие в домене
В мире микросервисов есть одна вечная проблема: как обеспечить согласованность данных между независимыми компонентами? Традиционные транзакции здесь не работают, но есть элегантное решение — Saga-паттерн. Разберем, откуда он произошел, что из себя представляет и почему стал стандартом индустрии. Saga — паттерн управления данными и транзакциями в распределенных системах. Вместо одной большой транзакции, когда весь процесс либо завершен, либо откатывается, данный паттерн разбивает весь процесс на несколько локальных транзакций...
1 неделю назад
🦁 Кэш: этот зверь не так прост, как кажется на первый взгляд
Кэш — механизм, который часто используют как «волшебную кнопку» для ускорения системы — достаточно добавить Redis, и всё работает быстрее. Есть обманчивое восприятие механизма кэширования — будто мы можем радикально изменить производительность системы, снизить затраты на инфраструктуру и даже повлиять на бизнес-метрики. Почти в каждом проекте наступает момент, когда кто-то говорит: «Давайте просто закэшируем». Обычно после этого система становится быстрее — и одновременно сложнее, опаснее и менее предсказуемой...
2 недели назад
В прод идут догадки разработчиков: почему наши модели врут
Всем привет! Сегодня хочу коснуться такого понятия Domain Driven Design как модель. В подходе DDD мы говорим о моделировании бизнес-процессов в коде системы. Существуют различные мнения и заблуждения на этот счет. Давайте разберемся, а что же, по своей сути, называется моделью. Модель — это ограниченное и упрощенное представление реального объекта или явления. Которое сохраняет те свойства оригинала, которые важны для исследования. Модель —это представление в воображении, в виде математических, физических, графических или символических форм...
3 недели назад
Когда сущности оживают: применение State в доменной модели DDD
Сущность в Domain Driven Design — это сердце бизнес-логики. Ее цель - моделирование бизнес-процессов и их жизненного цикла. Сущность инкапсулирует состояние и поведение важное для бизнеса. Очень часто в DDD поведение сущности, доступные операции и бизнес-правила начинают определяться через состояние самого объекта. При использовании традиционной "плоской" структуры методы изменения состояния объекта начинают содержать множество условных операторов (if-else, switch). Проверки состояния объекта дублируются в каждом методе...
1 месяц назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала