В этой статье утверждается, что класс данных - это «запах кода». Причина:
Это нормально, когда недавно созданный класс содержит только несколько открытых полей (и, возможно, даже несколько получателей / установщиков). Но истинная сила объектов в том, что они могут содержать типы поведения или операции над своими данными.
Почему для объекта неправильно содержать только данные? Если основная ответственность класса заключается в представлении данных, разве не будут добавлены методы, которые работают с данными, нарушающими принцип единой ответственности ?