@martinszeltins DTOs seem to be the new Repository. A design pattern that people have jumped on and like you are now telling everyone they “should” be using.
The truth is, no, you shouldn’t be using them. Not if you don’t want to. DTOs don’t have their origins in web development and were in fact user in distributed systems to collect parameters when moving through services. But like a lot of design patterns, someone’s taken it and shoe-horned it into MVC web development and now trying to tell people they’re inferior if not using them.
In a web context, people seem to just be using DTOs in place of parameters. The “argument” seems to be, “if you have a lot of parameters, use a DTO.” My opinion is, if you have a class or method that takes a lot of parameters, then re-factor. A DTO is not the solution. “But DTOs can be type-hinted!” And so can plain parameters in a constructor or class method.