Dec 12, 2022
Not bad, but there is a fourth type you need if you want to segregate your commands and queries from your domain model. Your domain types are the only non DTOs of the four types. Which means that without your domain types you have an anaemic system, and that’s the first step to creating a big ball of mud.
You can get away with 3 types for a simple CRUD system. But not for a complex, long-lived system.