Tôi có một ứng dụng dựa trên Squeryl. Tôi định nghĩa các mô hình của mình là các lớp trường hợp, chủ yếu là vì tôi thấy thuận tiện khi có các phương thức sao chép.
Tôi có hai mô hình có liên quan chặt chẽ với nhau. Các trường giống nhau, nhiều thao tác chung và chúng phải được lưu trữ trong cùng một bảng DB. Nhưng có một số hành vi chỉ có ý nghĩa trong một trong hai trường hợp, hoặc có ý nghĩa trong cả hai trường hợp nhưng khác nhau.
Cho đến bây giờ tôi chỉ sử dụng một lớp trường hợp duy nhất, với một cờ phân biệt loại mô hình và tất cả các phương thức khác nhau dựa trên loại mô hình đều bắt đầu bằng dấu nếu. Điều này là khó chịu và không phải là loại hoàn toàn an toàn.
Những gì tôi muốn làm là tính toán các hành vi và trường chung trong một lớp trường hợp tổ tiên và có hai mô hình thực tế kế thừa từ nó. Nhưng, theo như tôi hiểu, việc kế thừa từ các lớp trường hợp không được chấp nhận trong Scala và thậm chí bị cấm nếu bản thân lớp con là một lớp trường hợp (không phải trường hợp của tôi).
Những vấn đề và cạm bẫy tôi cần lưu ý khi kế thừa từ một lớp trường hợp là gì? Làm như vậy có hợp lý không trong trường hợp của tôi?