Este artículo afirma que una clase de datos es un "olor de código". La razón:
Es algo normal cuando una clase recién creada contiene solo unos pocos campos públicos (y tal vez incluso un puñado de getters / setters). Pero el El verdadero poder de los objetos es que pueden contener tipos de comportamiento o operaciones sobre sus datos.
¿Por qué es incorrecto que un objeto contenga solo datos? Si la responsabilidad principal de la clase es representar los datos, ¿no agregarían los métodos que operan en los datos y que rompen el Principio de Responsabilidad Única ?