Cet article prétend qu'une classe de données est une "odeur de code". La raison:
C'est une chose normale quand une classe nouvellement créée ne contient que quelques champs publics (et peut-être même une poignée de getters / setters). Mais la vraie puissance des objets est qu'ils peuvent contenir des types de comportement ou des opérations sur leurs données.
Pourquoi un objet ne contient-il que des données? Si la responsabilité principale de la classe est de représenter les données, n'ajouterait-on pas des méthodes qui opèrent sur les données en brisant le principe de responsabilité unique ?