Pergunta

É aceitável que um DTO tenha métodos de instância que retorne os valores derivados com base nos dados do DTO? Ou os DTOs devem ser contêineres de dados puros sem métodos adicionais (exceto getters/setters)?

O Purist em mim diz que é muito fácil para a lógica de negócios entrar em tais métodos. No entanto, se (por exemplo) um DTO for compartilhado entre as camadas de aplicativos, talvez haja um argumento para ter esses métodos no DTO.

Quais são as suas opiniões sobre isto? Existem situações em que é aceitável ou esse tipo de coisa deve ser evitada? E por que/por que não?

Foi útil?

Solução

Os DTOs não devem ter comportamento, são meros recipientes para transportar dados através dos limites do processo e devem consistir apenas em setters/getters.

Deve ser evitado a todo custo, caso contrário, seria interpretada como aplicação incorreta do padrão DTO.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top