У цій статті стверджується, що клас даних - це "запах коду". Причина:
Це нормальна річ, коли новостворений клас містить лише декілька загальнодоступних полів (а може бути, ще й кількох геттерів / сеттерів). Але справжня сила об’єктів полягає в тому, що вони можуть містити типи поведінки або операції над своїми даними.
Чому неправильно, щоб об’єкт містив лише дані? Якщо основна відповідальність класу полягає у представленні даних, то чи не додаватимуть методи, що працюють над даними, порушують Єдиний принцип відповідальності ?