Tôi đang cố gắng lập mô hình các sản phẩm với một tập hợp các thuộc tính toàn diện. Thông thường, một cửa hàng trực tuyến sẽ sử dụng mô tả văn bản để liệt kê các thuộc tính của một sản phẩm cụ thể. Tuy nhiên, giải pháp này không phải là tối ưu.Giải pháp thay thế cho một hệ thống phân cấp thừa kế sâu?
Ví dụ, các liên kết sau đây cho thấy những mâu thuẫn của các thuộc tính trong một mô tả văn bản cho cùng một sản phẩm, nhưng với các nhà sản xuất khác nhau:
Do đó, tôi đã chọn một hệ thống phân cấp thừa kế như sau:
Product
>Component
>GraphicsCard
>NvidiaGraphicsCard
Lý do cho điều này là bởi vì tôi muốn kiểm soát hạt mịn trên các thuộc tính của mỗi Product
. Điều này cho phép tôi bao gồm các thuộc tính cụ thể để nói một số NvidiaGraphicsCard
không áp dụng cho một số ATiGraphicsCard
.
Lưu ý rằng ngoài việc thêm nhiều trường vào lớp con, thừa kế cho phép tôi sử dụng đa hình về việc có một số OrderItem
giữ tham chiếu đến Product
. Đây là một lý do tại sao tôi loại trừ thành phần.
Có vấn đề gì khi có một hệ thống phân cấp thừa kế sâu sắc như vậy và nếu có thì có giải pháp hoặc có lẽ các mẫu để xử lý vấn đề này không?