W tym artykule twierdzi się, że klasa danych to „zapach kodu”. Powód:
To normalne, gdy nowo utworzona klasa zawiera tylko kilka pól publicznych (a może nawet garść programów pobierających / ustawiających). Ale prawdziwą mocą obiektów jest to, że mogą one zawierać typy zachowania lub operacje na swoich danych.
Dlaczego obiekt zawiera tylko dane? Jeśli podstawowym obowiązkiem klasy jest reprezentowanie danych, czy dodanie metod działających na danych nie złamałoby zasady pojedynczej odpowiedzialności ?