Domain anemia is a term thrown around like it’s a horrible disease. However, a while back, Greg Young talked about an intentional decision to create an anemic domain model . In some contexts, an anemic domain model is an anti-pattern . Instead, I see a rather different issue going on here. For the vast majority of systems built that I’ve encountered, a true domain model is overkill. But what is the domain model pattern? It could be all the way to a CQRS system , or it could be a system where your entities are more than containers of data, but containers of behavior. The real problem is the assumption from folks doing an anemic domain model that they’re doing DDD or doing a domain model pattern. But if your entities only expose data, it’s not a domain model. This isn’t necessarily a bad thing though. It’s more important that this decision is intentional. Anemic domain model has a negative connotation, so I’d like to get rid of that term used to describe the intentional decision to create an anemic model. Instead, I like the term Persistence Model or Persistent Object Model to describe an intentionally anemic domain model. The Persistence Model Pattern In the Persistence Model...