Why are data transfer objects (DTOs) an anti-pattern?
Some projects have all data twice. Once as domain objects, and once as data transfer objects. This duplication has a huge cost, so the architecture needs to get a huge benefit from this separation to be worth it.