Bài viết này tuyên bố rằng một lớp dữ liệu là một "mùi mã". Nguyên nhân:
Đó là một điều bình thường khi một lớp mới được tạo chỉ chứa một vài trường công khai (và thậm chí có thể là một số ít getters / setters). Nhưng sức mạnh thực sự của các đối tượng là chúng có thể chứa các loại hành vi hoặc hoạt động trên dữ liệu của chúng.
Tại sao nó chỉ sai khi một đối tượng chỉ chứa dữ liệu? Nếu trách nhiệm cốt lõi của lớp là đại diện cho dữ liệu, thì việc thêm các phương thức hoạt động trên dữ liệu có phá vỡ Nguyên tắc Trách nhiệm duy nhất không?