Pregunta

¿Alguna vez es aceptable para un DTO para tener métodos de instancia, que devuelven valores derivan en base a datos de la DTO? O deben ser dtos contenedores de datos puros que no tienen métodos adicionales (distintos de los getters / setters)?

El purista en mí dice que es mucho más fácil para la lógica de negocio a introducirse en tales métodos. Sin embargo, si (por ejemplo) un DTO se comparte a través de capas de aplicación, entonces tal vez no es un argumento para tener tales métodos en el DTO.

¿Cuáles son sus puntos de vista sobre esto? ¿Hay alguna situaciones en las que es aceptable, o se debe evitar este tipo de cosas? Y por qué / por qué no?

¿Fue útil?

Solución

DTOs no deben tener comportamiento, son meros contenedores para el transporte de datos a través de limites de proceso y deben consistir en setters / getters solamente.

Debe evitarse a toda costa de lo contrario, debe interpretarse como la aplicación incorrecta de la pauta DTO.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top