Сущность в Domain Driven Design — это сердце бизнес-логики. Ее цель - моделирование бизнес-процессов и их жизненного цикла. Сущность инкапсулирует состояние и поведение важное для бизнеса.
Сущность в Domain Driven Design — это сердце бизнес-логики. Ее цель - моделирование бизнес-процессов и их жизненного цикла. Сущность инкапсулирует состояние и поведение важное для бизнеса.
Представьте, что ваша система — это оркестр, где каждый музыкант знает свою партию, но никто не машет палочкой. Вместо хаоса — гармония бизнес-процессов. В этом посте разберем, как Domain-Driven Design (DDD) и хореография в распределенных системах создают именно такую синергию: от моделирования событий до масштабируемой архитектуры.
Часто в проектах, которые разрабатываются с использованием подхода Domain Driven Design, возникает соблазн использовать одну и ту же Java сущность для двух принципиально разных целей. Один класс используется и как бизнес логика (DDD Entity), и как ORM сущность (часто это мотивируется следованию принципу DRY(Don't Repeat yourself), хотя он не имеет…
Итак, мы решили стартовать наш проект с модульной архитектуры. Мы используем Spring Boot для разработки приложения на языке Java/Kotlin. Какие инструменты нам позволят упростить работу по реализации модульного монолита? Один из таких инструментов - Spring Modulith.
Итак, мы решили начать проект с модульного монолита. Теперь встает вопрос каким образом построить коммуникацию между модулями. Одним из ключевых аспектов модульного монолита - организация правильного взаимодействия между модулями.
В модульном монолите мы стремимся к максимальной независимости модулей, что также включает и работу с данными. Хотя все модули могут использовать общую БД, необходимо поддерживать строгую изоляцию данных для каждого модуля. Это предотвращает сильную связанность, упрощает рефакторинг и сохраняет возможность будущего выделения модулей в отдельные мик…
В прошлый раз рассмотрели что такое модульный монолит и откуда возникла сама идея. Сегодня начнем рассматривать как организовать модульный монолит.
Микросервисы стали настоящим символом современной разработки. Все хотят иметь гибкую, масштабируемую архитектуру, состоящую из маленьких независимых изолированных сервисов. Идея выглядит простой и привлекательной: небольшие независимые команды работают над отдельными сервисами, быстро выпускают обновления, легко поддерживают и развивают систему.
Domain-Driven Design (DDD) — мощный подход к проектированию сложных систем, который обещает порядок в сложных бизнес процессах, однако он также скрывает ряд ловушек, связанных с проектированием агрегатов (Aggregates), сущностей (Entities). Без должного внимания к процессу легко допустить ошибки, способные привести к спагетти коду на стероидах. Расс…
Впрошлый раз мы разобрали, как избежать ошибок при формировании Ubiquitous Language. Сегодня разберем какие ошибки могут возникнуть при определении Bounded Context.
<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><linkrel="stylesheet"href="styles.css"><title>Продажа авиабилетов</title></head><body><header><h1>Путешествуй по всему миру с нами!</h1><nav>&…
Добрый день! Я действительно взволнован проектом, который мне удалось получить для вас. Я сделал всё возможное, чтобы представить вам что-то с почти полной функциональностью, что-то, что вы можете продемонстрировать в своём портфолио, если вы новичок, и не волнуйтесь, я начну создавать некоторые проекты для разработчиков среднего и продвинутого уро…