Tag: Software Design
All the articles with the tag "Software Design".
-
[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 #7] Why DDD fails
After studying DDD, it feels like design should get better. Once we learn concepts such as Entity, Value Object, Aggregate, Repository, and Domain Event, it feels like complex business logic can be organized cleanly.
-
[DDD Intro #2] A model is not a copy of reality
To understand DDD, we first need to rethink the word "model." Many people think of a model as something that copies reality as accurately as possible. There is a member in reality, so we create Member. There is an order, so we create Order. There is a payment, so we create Payment. We try to include every attribute that exists in reality.
-
[DDD Intro #1] DDD is not a technology, but a perspective
When you first study DDD, technical terms naturally stand out first. Entity, Value Object, Aggregate, Repository, Domain Service, Domain Event. Go a little further and terms like Layered Architecture, Hexagonal Architecture, CQRS, and Event Sourcing follow.