Tôi đang tự hỏi điều gì là tốt hơn về mặt OOP tốt, mã sạch, tính linh hoạt và tránh mùi mã trong tương lai. Tình huống hình ảnh, nơi bạn có rất nhiều đối tượng rất giống nhau mà bạn cần phải biểu diễn dưới dạng các lớp. Các lớp này không có bất kỳ chức năng cụ thể nào, chỉ có các lớp dữ liệu và khác nhau chỉ theo tên (và ngữ cảnh) Ví dụ:
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;
}
Sẽ tốt hơn nếu giữ chúng trong các lớp riêng biệt, để có được khả năng đọc "tốt hơn", nhưng có nhiều lần lặp lại mã, hoặc sẽ tốt hơn nếu sử dụng tính kế thừa để trở nên KHÔ hơn?
Bằng cách sử dụng tính kế thừa, bạn sẽ kết thúc với một cái gì đó như thế này, nhưng tên lớp sẽ mất đi ý nghĩa theo ngữ cảnh (vì is-a, không có-a):
Class A
{
String name;
String description;
}
Class B : A
{
String count;
}
Class C : B
{
String imageUrl;
}
Class D : C
{
String age;
}
Tôi biết kế thừa không và không nên được sử dụng để tái sử dụng mã, nhưng tôi không thấy bất kỳ cách nào khác có thể làm thế nào để giảm sự lặp lại mã trong trường hợp đó.