이 기사에서는 데이터 클래스가 "코드 냄새"라고 주장합니다. 이유:
새로 생성 된 클래스에 소수의 공개 필드 (및 소수의 getter / setter) 만 포함 된 경우에는 정상적인 현상입니다. 그러나 객체의 진정한 힘은 데이터에 대한 동작 유형이나 작업을 포함 할 수 있다는 것입니다.
객체가 데이터 만 포함하는 것이 왜 잘못 되었습니까? 클래스의 핵심 책임이 데이터를 나타내는 것이라면, 데이터에 대해 작동하는 메소드를 추가하지 않아도 단일 책임 원칙은 무엇입니까?