좋은 OOP desing, 깨끗한 코드, 유연성 및 미래의 코드 냄새 방지 측면에서 무엇이 더 좋은지 궁금합니다. 클래스로 표현해야하는 매우 유사한 객체가 많이있는 이미지 상황. 이러한 클래스는 특정 기능이없고 데이터 클래스 만 있으며 이름 (및 컨텍스트)에 따라 다릅니다. 예 :
Class A
{
String name;
string description;
}
Class B
{
String name;
String count;
String description;
}
Class C
{
String name;
String count;
String description;
String imageUrl;
}
Class D
{
String name;
String count;
}
Class E
{
String name;
String count;
String imageUrl;
String age;
}
그것들을 별도의 클래스로 유지하고, "더 나은"가독성을 얻는 것이 더 좋지만, 많은 코드 반복을 재치하거나 상속을 사용하여 더 건조하게하는 것이 더 좋을까요?
상속을 사용하면 다음과 같은 결과가 나오지만 클래스 이름은 문맥상의 의미를 잃어 버릴 것입니다 (is-a 때문에 has-a 때문).
Class A
{
String name;
String description;
}
Class B : A
{
String count;
}
Class C : B
{
String imageUrl;
}
Class D : C
{
String age;
}
상속은 코드 재사용에 사용되지 않아야하며 코드 재사용에 사용되어서는 안된다는 것을 알고 있지만 그러한 경우 코드 반복을 줄이는 방법은 없습니다.