최소한의 예를 들어 설명해 드리겠습니다.클래스 변수는 다른 데이터를 사용하여 값을 계산할 수있는 권한이 있습니까?
public class Shape {
User user;
int color;
}
과 User
클래스 :
public class User {
int mood;
}
지금 도형의 색상은 사용자의 기분에 의존한다고 가정
Shape
클래스가 있다고 가정하자 .의 기분에 액세스하여 계산할 수 있기 때문에 에
color
필드가 중복되어 있습니까?
보다 현실적인 예제에서 색상을 계산하는 데 필요한 데이터에 액세스하는 것이 더 복잡하거나 더 긴 일련의 접근 자 (color = user.getCat().getCousin().getMood()
)를 사용할 수 있습니다. 이러한 클래스가 데이터베이스에 매핑되고 (방식으로) 중복 데이터에 매핑 될 수 있다는 점을 더 고려하십시오. 반면에 그들은 일시적으로 표시 할 수 있습니다.
색상은 분위기에 따라 다르지만 색상은 분위기와 전혀 다릅니다. 따라서 color
필드를 포함하는 것은 나에게 논리적 인 것 같지만,이 디자인을 전적으로 정당화 할 수는 없습니다.
클래스 변수는 다른 데이터를 사용하여 값을 계산할 수있는 권한이 있습니까?