Posts
All the articles I've posted.
-
[DDD Intro #30] My understanding of DDD: Good design starts from good questions
When first encountering DDD, the terminology appears first. Entity, Value Object, Aggregate, Repository, Domain Service, Domain Event, Bounded Context, Context Map. If CQRS, Event Sourcing, Hexagonal Architecture, and Microservice follow, DDD feels like a huge technical system.
-
[DDD Intro #29] DDD adoption checklist
DDD is a powerful approach, but it is not needed for every problem. It can greatly help complex domains, but applying it excessively to a simple CRUD system can only increase cost.
-
[DDD Intro #28] Modular Monolith: What to think about before microservices
As a system grows, we start wanting to split services. It feels like creating independent services for orders, payments, members, notifications, and settlement will make things cleaner. It seems each team can own its service, deploy independently, and isolate failures.
-
[DDD Intro #27] Applying DDD to legacy systems
When studying DDD, we see many clean examples. Domain objects are clear, layers are separated, and Aggregate boundaries are well defined. But real systems are often not like that.
-
[DDD Intro #26] Explaining domain models with tests
Tests are usually seen as tools for preventing bugs. That is true. Tests check whether code behaves as expected and help prevent changes from breaking existing behavior.
-
[DDD Intro #25] Microservice and DDD: Is a Bounded Context a service?
When talking about DDD, microservices often appear together. The picture of splitting Bounded Contexts, making each context a service, and giving each independent deployment and an independent database is attractive.
-
[DDD Intro #24] Event Sourcing is not required for DDD
After learning Domain Event, we naturally encounter Event Sourcing. If we express things that happened in the domain as events, storing events instead of state may look better.
-
[DDD Intro #23] CQRS: When to separate read models and write models
When studying DDD, we often encounter the word CQRS. So it is easy to think that proper DDD requires CQRS, and that CQRS requires Event Sourcing.