1. Tudo depende do contexto, pode ser bom ou não. Lembre-se que isso é complexidade, é algo a mais para mexer em vários pontos quando altera algo. Então se não tem um gerador de código atuando, pode ser um enorme problema. Compensará ter essa complexidade?
  2. Até onde eu sei não tem um lugar clara e universalmente definido. Eu sequer sei se deveria ter um método assim, o construtor não é suficiente?
  3. Depende. Se todas as regras estivessem escritas não precisaria de programador para decidir. Tem que olhar os requisitos e ver isso.
  4. Não parece que nada disso é necessário, mas pode ser só que o texto esteja confuso.

DTO é algo muito simples, se começa complicar então ele não está sendo só DTO: https://pt.stackoverflow.com/q/31362/101

Faz sentido para você?

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).