Tagged articles

Domain Events

12 articles · Page 1 of 1
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jul 9, 2026 · Backend Development

5 Tips to Keep Your Spring Service Clean and High‑Quality

This article presents five practical patterns—single‑use‑case classes, a lightweight Facade, self‑validating input records, domain‑event side‑effects, and ports‑and‑adapters—that transform monolithic Spring @Service classes into modular, readable, testable, and transaction‑safe components, improving maintainability and extensibility.

Clean ArchitectureDomain EventsFacade
0 likes · 15 min read
5 Tips to Keep Your Spring Service Clean and High‑Quality
Tinker Programmer
Tinker Programmer
Jul 3, 2026 · Backend Development

How Aggregate Roots Guard Business Invariants – The Final Defense Line

The article examines a payroll bug caused by exposing internal collections, then explains three immutable‑focused rules for aggregate roots—expose only through the root, keep each transaction to a single aggregate, and reference other aggregates by ID only—showing how proper design prevents consistency errors, performance loss, and concurrency conflicts in Spring Boot applications.

Aggregate rootDomain EventsDomain-Driven Design
0 likes · 17 min read
How Aggregate Roots Guard Business Invariants – The Final Defense Line
Tinker Programmer
Tinker Programmer
Jul 1, 2026 · Backend Development

How Domain Events Decouple Communication Between Bounded Contexts

The article analyzes the pitfalls of synchronous calls in a payroll microservice, defines domain events and their naming conventions, compares them with message‑queue messages, and presents two concrete implementations—Spring ApplicationEvent for intra‑process decoupling and RocketMQ with a transactional outbox for cross‑process communication—while also clarifying when event sourcing is appropriate.

DDDDomain EventsMicroservices
0 likes · 15 min read
How Domain Events Decouple Communication Between Bounded Contexts
ZhiKe AI
ZhiKe AI
Jun 2, 2026 · Backend Development

Why DDD Still Fails to Deliver Business‑Friendly Code When Treated as a Mere Architecture Pattern

The article argues that Domain‑Driven Design is not an architectural style but a two‑layer framework—strategic design defines bounded contexts and ubiquitous language, while tactical design supplies the modeling tools—explaining common misreadings and showing how DDD complements Clean, Hexagonal, CQRS, and Event Sourcing approaches.

AggregatesBounded ContextDomain Events
0 likes · 14 min read
Why DDD Still Fails to Deliver Business‑Friendly Code When Treated as a Mere Architecture Pattern
ZhiKe AI
ZhiKe AI
May 14, 2026 · Fundamentals

Why DDD Is a Cognitive Alignment Tool, Not Just an Architecture

The article explains how Domain‑Driven Design addresses the pitfalls of bloated services, unclear boundaries, and inconsistent terminology by introducing bounded contexts, aggregates, and domain events, and outlines a step‑by‑step adoption process while debunking common misconceptions.

AggregatesBounded ContextDomain Events
0 likes · 9 min read
Why DDD Is a Cognitive Alignment Tool, Not Just an Architecture
Architect's Journey
Architect's Journey
Jan 22, 2025 · Backend Development

Deep Dive into DDD Rich Model: Best Practices

The article explains the DDD rich (or active) model, its core characteristics, compares it with the anemic model, and shows how to apply it in a shared‑rental billing domain using Java, DDD layers, domain events, and a lightweight framework.

Backend ArchitectureDDDDomain Events
0 likes · 10 min read
Deep Dive into DDD Rich Model: Best Practices
Tencent Cloud Developer
Tencent Cloud Developer
May 8, 2024 · Backend Development

Understanding Domain-Driven Design: Concepts, Principles, and Microservices Integration

The article explains Domain‑Driven Design’s philosophy of aligning business language with code, defines key concepts such as bounded contexts, entities, value objects, aggregates, and shows how these ideas translate into microservice decomposition, event‑driven integration, and reduced coupling for cloud‑native systems.

Aggregate rootBounded ContextDDD
0 likes · 16 min read
Understanding Domain-Driven Design: Concepts, Principles, and Microservices Integration
ITPUB
ITPUB
Feb 15, 2023 · Backend Development

Mastering Domain Events in Go: Definition, Publishing, and Consumption

This article explains what domain events are, how to define them with proper naming and attributes, explores multiple techniques for publishing events in Go—including parameter injection, static-like helpers, return‑based and repository‑based approaches—and describes strategies for consuming events safely and atomically.

Backend ArchitectureDDDDomain Events
0 likes · 15 min read
Mastering Domain Events in Go: Definition, Publishing, and Consumption
Architecture Digest
Architecture Digest
Apr 2, 2022 · Backend Development

Applying Domain-Driven Design to Model a Payment System at Airwallex

This article explains how Airwallex uses Domain-Driven Design (DDD) to model a complex payment system, covering problem and solution spaces, bounded contexts, domain models, services, events, infrastructure, and the transition from domain concepts to microservices.

Bounded ContextDomain Eventspayment system
0 likes · 10 min read
Applying Domain-Driven Design to Model a Payment System at Airwallex
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Sep 26, 2020 · Fundamentals

Why Development Teams Need DDD: Insights, Challenges, and Solutions

In this interview, senior ZTE architect Zhang Xiaolong explains why development teams should adopt Domain‑Driven Design, outlines key practices such as a unified language, layered architecture, and domain events, and discusses common obstacles—including limited case studies and tooling gaps—and offers practical solutions to successfully implement DDD in complex, high‑performance telecom software.

Domain EventsDomain-Driven Design
0 likes · 6 min read
Why Development Teams Need DDD: Insights, Challenges, and Solutions
vivo Internet Technology
vivo Internet Technology
Apr 8, 2020 · Backend Development

Applying Domain Events, Saga, and CQRS in Domain-Driven Design

The article, the second in a DDD practice series, shows how immutable domain events can capture business milestones and be stored and published, introduces Saga—both choreography and orchestration—to manage distributed transactions with compensations, and explains how CQRS separates read and write models, illustrating each concept with Java code while highlighting the resulting decoupling, scalability, and modeling clarity alongside added complexity and storage challenges.

Domain EventsDomain-Driven DesignSAGA
0 likes · 21 min read
Applying Domain Events, Saga, and CQRS in Domain-Driven Design
Programmer DD
Programmer DD
Aug 19, 2017 · Backend Development

Decoupling Business Logic with Domain Events Using Guava EventBus

This article explains how to apply Domain‑Driven Design's domain events to separate reply handling from push notification logic, discusses the shortcomings of embedding side‑effects directly, compares Spring and Guava event mechanisms, and provides a custom Guava‑based publisher implementation with synchronous and asynchronous buses.

Domain EventsDomain-Driven DesignEventBus
0 likes · 8 min read
Decoupling Business Logic with Domain Events Using Guava EventBus