Может ли DTO иметь методы экземпляра, возвращающие производные значения?

StackOverflow https://stackoverflow.com/questions/2255422

  •  20-09-2019
  •  | 
  •  

Вопрос

Приемлемо ли когда-либо для DTO иметь методы экземпляра, которые возвращают производные значения на основе данных DTO?Или DTO должны быть чистыми контейнерами данных без каких-либо дополнительных методов (кроме геттеров / сеттеров)?

Пурист во мне говорит, что бизнес-логике слишком легко внедриться в такие методы.Однако, если (например) DTO является общим для всех уровней приложения, то, возможно, есть аргумент в пользу наличия таких методов в DTO.

Каковы ваши взгляды на это?Существуют ли когда-нибудь ситуации, когда это приемлемо, или следует избегать подобных вещей?И почему / why not?

Это было полезно?

Решение

DTO не должны иметь поведения, они являются простыми контейнерами для транспортировки данных через границы процесса и должны состоять только из установщиков / получателей.

Этого следует избегать любой ценой, иначе это было бы истолковано как неправильное применение шаблона DTO.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top